Searching wishlists

ShortcodeFunction
Search[nmgr_search]nmgr_get_search_template()
Search form[nmgr_search_form]nmgr_get_search_form()
Search results[nmgr_search_results]nmgr_get_search_results()

Shortcodes and functions available for searching wishlists

The plugin search form is empowered to search wishlists in the standard wordpress areas such as title and content (description) as well as the wishlist owner’s first name, last name, partner first name, partner last name, and email.

The plugin has been designed to make searching wishlists very flexible and convenient for you. It provides a search form, a search results template, and a complete search template page for displaying and outputting the entire search functionality, which can be customized to your use with either the shortcodes or template functions above. For more details on the attributes accepted by the shortcodes and template functions see shortcodes and template functions.

It is likely you would be using shortcodes to search wishlists as most people do, so in this article I will show how the shortcodes can be used to search wishlists on your store. The template functions have however been listed here because they do exactly the same thing as the shortcodes, only directly in code.

[nmgr_search_form]

This is the simplest shortcode to use for searching wishlists and it simply displays the search form. It comes without any attributes. When this shortcode is used, the form is posted to the home url, just like the default wordpress search, and the search results are displayed by default using the custom search template provided by the plugin.

[nmgr_search_results]

This shortcode is used to display the wishlist search results. It is only necessary to use it if you want to display the search results anywhere other than the default place where they are displayed. To use this shortcode, the wishlist search form would have to be posted to the location where the shortcode is. This means that the search form would have to be outputted with the [nmgr_search] shortcode instead of [nmgr_search_form]. In other words, [nmgr_search_results] should always be used with [nmgr_search] for it to work.

To give an example, let’s say you want to display the wishlist search results at http://example.com/search-results and you want to show the search form at http://example.com/search-form, in the page for the search form, http://example.com/search-form, you would output the shortcode like this:

[nmgr_search show_results=false form_action=http://example.com/search-results]

Notice that we are setting show_results to false because we don’t want the search results to show on this page. We only want the form to show. We are also setting form_action where the form would be posted, to the page where we want the search results to appear. In that page you would then simply add the shortcode:

[nmgr_search_results]

When you now search for a wishlist at http://example.com/search-form it would take you to http://example.com/search-results to display the results.

Tip: This setup of separating the search form from the search results allows the search functionality to be customized the way you want. The search results can even be displayed in a modal window with this method or dynamically via ajax.

[nmgr_search]

This is the main shortcode for outputting wishlist search functionality and it is the most flexible. It allows you to output either only the search form or the search results, or both. Underneath, it simply combines the results of [nmgr_search_form] and [nmgr_search_results] together and so provides one shortcode for you to use conveniently instead of three.

To show an example of how this shortcode works using our previous illustration, you want to display a search form at http://example.com/search-form and you want to display the search results at http://example.com/search-results, for the search form, as shown before, you would use the shortcode:

[nmgr_search show_results=false form_action=http://example.com/search-results]

And for the search results you would use the shortcode:

[nmgr_search show_form=false]

Notice we are simply telling the shortcode not to show the search form (which it does by default) so that it can only show the search results.

To show both the search form and search results on the same page, simply use:

[nmgr_search]

To show the search form and search results on the same page and show all results when there is no search query on page load, use:

[nmgr_search show_results_if_empty=true]