This add-on plugin for Participants Database adds two powerful, fully configurable multiple-field search capabilities to your database application. These two search modes can be used together or separately to give your users the best search experience.
Combo Search is a single text input that searches through multiple fields in the database to find a match. It can find words or phrases, look for exact matches or find a string within the data. Which fields it searches on is fully configurable.
The built-in “autosuggest” feature begins providing user feedback as soon as typing begins, drawing possible words and phrases from the data. This ensures that users can find what they are looking for quickly and intuitively.
Multi-Search lets you show any number of search input controls. Each control corresponds to one field, and the search control type is based on the type of field that it searches on. For instance of the data is a dropdown field, the search control for that field is a dropdown where the user may select their search term. Text fields are searched on with text inputs, radio buttons, and checkboxes are searched using their respective control types.
This is best for a “drill down” type of search where there are a number of different criteria used to find a result. It gives users an easy-to-understand interface for complex search tasks.
These are several search modes that can be used to tailor the results to fit your specific application.
There is a global “filter mode” setting that affects how all the search controls work. If filter mode is on, all of the search terms or criteria need to match for the record to show in the result. If filter mode is off, then if any of the terms or criteria are matched, the record will show in the result.
The Combo search has additional modes: any, all and phrase. They give you additional control over how strictly the search results are matched when there are multiple search terms. This mode can be set by the user, or as a plugin setting.
Whole Word Match Mode prevents matches with a portion of a word. For instance, when enabled, the search term “hot” would only match the word hot and not a word such as hotel.
There is support for wildcards and quoted phrases, too. Wildcards can be used to find portions of words, or words that start with a certain letter. The asterisk stands for any string of letters, so searching for A* will match all words beginning with the letter A.
The Combo Multisearch Plugin offers two main search control types: a single text input (like a search engine) or a sets of selectors/checkboxes/text fields that set a search term for each field. Both search types may be used, but in most cases, you’ll be using one or the other.
Setting up the Combination Search
To set up the Combo Search, you’ll need the names of all the fields you want searched with the user’s input. Type the names as a comma-separated list into the “Combination Search Fields” setting. To disable the combo search, leave the setting blank.
The “label” and “placeholder” settings give you two ways to prompt the user. The “label” is shown alongside the text input, and remains visible when the user types in their search. The “placeholder” is shown inside the text input, and disappears when the user begins to type in a search. A placeholder is good when you don’t need to explain much and want a clean, simple interface. The label is good for situations where you want to explain a little bit what the search is for. You can use either, neither, or both if you want.
Combo Search Modifiers
The “combo search modifiers” are a set of radio buttons to allow the user to set the type of search desired: “any,” “all,” or “phrase.” When enabled, these radio buttons will be shown next to the combo search input. There is a default search type that will be initially selected, and this is also the search mode that will be used if the combo search modifiers are not shown.
“Autocomplete” is also known as “autosuggest” and provides the user with a list of suitable search terms. The list of suggested search terms is shown as a pop-up window when the user begins typing, and the list is pared down as the user types in more letters. The list of autosuggest words is drawn from the database, so it can reliably guide the user to search terms that will yield results.
The fields that the autocomplete terms are drawn from is defined in the “Combo Search Autocomplete Fields” setting. It is a list of field names like the “combination search fields” setting. This means that the combo search can search on fields that don’t contribute to the autosuggest. This is helpful in cases where some of the fields searched contain blocks of text, which could add a lot of useless terms to the autosuggest list.
Configuring the Multi-Search
Multi-search provides a comprehensive interface for searching on multiple fields. Each field included in the search is provided with a search control appropriate to the type of field. The search control generates five different types of search control: text input, checkboxes, radio buttons, dropdowns and multi-select dropdowns.
To configure the multi-search, put the list of field names you want included in the search in the “Multi Search Fields” settings as a comma-separated list.
For dropdown, checkbox and radio button controls, the selections shown can either be drawn from the field definition, or from the database entries. If “Use DB Values in Dropdowns” is checked, a list of unique values is gotten from the database entries and used as the selections presented, so every selection will find a match in the database.
It’s also possible to generate a dropdown selector for text fields, by enabling “Text Fields as Dropdown Selectors.” This provides the user with a set of words to choose from that are taken from database entries. For instance, if one of the fields in the multisearch is “First Name,” the search control would be a dropdown of all the unique first names in the database.
Filter Search Mode
The Combo Multisearch has two general modes of operation. With “filter mode” on, all chosen search values must be present in the record for it to be included in a search result. If filter mode is off, a record will be included in the results if any of the provided search terms is present in the record.
Each search type, combo or multi, has a “Whole Word Match Only” switch so that searches made will only match a complete word in the search, not portions of a word.
Showing the Search Control
The Combo Multisearch Add-On provides it’s search capabilities through the use of a special template. There is a template for the list display and for the stand-alone search display. Once the plugin settings are defined, the template must be called in the shortcode like this:
[pdb_list template=multisearch ]
The plugin now also includes a table-less responsive template for the list multisearch shortcode:
[pdb_list template=multisearch-responsive ]
Or for the standalone search like this:
[pdb_search template=multisearch ]
This uses the plugin’s built-in template, but you can also add Combo Multisearch to any list or search shortcode template by using the template functions provided by the plugin.
Setting Up a Remote Search
If you need to have the search control in a different location then where the results are displayed, you can do that with the [pdb_search] shortcode. You need to use the “target_page” attribute to tell the search shortcode where the results are to be displayed. The [pdb_list] shortcode is used to display the results.
For example, if your results are displayed on a page named “listings” then your search control shortcode will be like this: [pdb_search template=multisearch target_page=listings]. That shortcode can be placed anywhere. If you want to put it into a sidebar widget, you’ll need a plugin that will allow a shortcode in a widget.
Then, on the “listings” page, put [pdb_list]. There is no need to set the template to multisearch unless you want another search control to appear at the top of the results.
In cases where the [pdb_list] shortcode is on a page with other Participants Database shortcodes, you may need to set the “target_instance” attribute to target the specific list shortcode where you want the results to appear. To find the target instance value, you must inspect the HTML. At the top of the list display, you will see a classname in the wrapper such as “pdb-instance-2” That means the list is instance 2, and you would need to put that value as the target instance in the search control shortcode, like this: [pdb_search template=multisearch target_page=listings target_instance=2].
Product-specific technical support can be found here: