Do you want to create an advanced search form in WordPress for custom posts types?
If you use custom post types, then you may want to create a form that allows visitors to search only that content. This can help visitors find what they’re looking for and keep them on your site for longer.
In this article, we’ll show you how to create an advanced search form for custom post types in WordPress, step by step.
Why Create an Advanced Search Form for Custom Post Types in WordPress?
If you have lots of different content on your site, then a custom post type search form can often improve the visitor experience.
On these pages we also use a custom post types search form, so visitors can search within the specific deals and glossary categories.
Often, this kind of advanced search form will help visitors find what they’re looking for faster, which encourages them to stay on your website. This will increase dwell time and reduce bounce rate, which sends positive WordPress SEO signals to the search engines.
With that said, let’s show you how to create an advanced search form for custom post types in WordPress.
Create a New WordPress Search Algorithm with a WordPress Plugin
SearchWP is easy to use and and gives you full control over the search results.
First thing you need to do is install and activate the plugin. For more details, see our step by step guide on how to install a WordPress plugin.
Upon activation, go to Settings » SearchWP and then click on the ‘License’ menu option.
Then, enter your license key in the ‘License’ box. You can find this information by logging into your SearchWP account.
After entering your license key, go ahead and click on the ‘Activate’ button. Once you’ve done that, it’s time to click on the ‘Engines’ menu option.
This brings you to a screen where you can configure the SearchWP search engine. Think of it like creating your own Google search algorithm for your WordPress website.
With SearchWP, you need to create a site-wide search engine before you can create a custom post types search engine, so we’ll do that first.
You can change the search engine settings by scrolling to the ‘Posts’, ‘Pages’, or ‘Media’ section. Each section has an Application Attribute Relevance that will change how the search engine ranks the content when building its search results page.
For example, if you move the post’s ‘Title’ slider to the right and the ‘Content’ slider to the left, then a post’s title will carry more weight than the content.
Once you’ve finished customizing the default search engine settings, go ahead and save your changes by clicking on the ‘Save Engines’ button.
At this point you may see a message asking you to rebuild the index. If this happens, then simply click on the ‘Rebuild Index’ button.
Once you’ve created a default search engine, you’re ready to create an advanced search form for your site’s custom post types.
Add an Advanced Search Form Limited to a Single Custom Post Type
To create an advanced search form, we’ll start by creating a separate search engine that only targets a particular custom post type.
First, go to Settings » SearchWP and then click the ‘Add New’ button.
This will automatically create a new search engine.
Next, simply click the ‘Sources & Settings’ button.
This will open a popup where you can select the sources that you want to use in your search engine, including any custom post types you’ve created.
To exclude a type of content from the search results, simply uncheck its box.
In this example, we’ll uncheck everything apart from the ‘Coupons’ box. This means that SearchWP will only search posts that have the ‘Coupons’ custom post type.
You also need to give your search engine a name by typing into the ‘Engine Name’ field. You’ll be using this name in a later step, so make a note of it.
When you’re happy with how the search engine is set up, click the ‘Done’ button.
Once you’ve done that, click the ‘Save Engines’ button to save your changes.
Now, we need to download the SearchWP shortcodes extension so we can easily add the new custom post search form to our WordPress blog.
First, head over to the SearchWP Shortcodes Extension website and click the ‘Download available with active license’ button.
After that, you can install and activate the extension in exactly the same way you installed the SearchWP plugin.
Once you’ve done that, you’re ready to create a new custom post search form page using code. To get started, simply open the page or post where you want to add the search form.
Then, click the plus ‘Add Block’ icon to bring up the blocks menu.
Next, go ahead and type ‘HTML’ into the search box.
When it appears, select the ‘Custom HTML’ block.
Once you’ve done that, it’s time to add the following code to the custom HTML block.
[searchwp_search_form engine="coupon" var="searchvar" button_text="Find Results"] <div class="search-results-wrapper"> [searchwp_search_results engine="coupon" var="searchvar" posts_per_page=4] <h2>[searchwp_search_result_link direct="true"]</h2> [searchwp_search_result_excerpt] [/searchwp_search_results] </div> <div class="no-search-results-found"> [searchwp_search_results_none] No results found, please search again. [/searchwp_search_results_none] </div> <div class="search-results-pagination"> [searchwp_search_results_pagination direction="prev" link_text="Previous" var="searchvar" engine="my_test_engine"] [searchwp_search_results_pagination direction="next" link_text="Next" var="searchvar" engine="my_test_engine"] </div>
The code above will add your search engine, create a section to display the results, show a ‘no results’ message if necessary, and add pagination if the results go into multiple pages.
In the code above, you just need to change the engine name from
engine="coupon" to your own engine name.
Make sure you click ‘Publish’ or ‘Update’ to save your page and make it live.
Now if you visit your site you’ll see the custom post type search engine.
There are lots of different ways that you can improve WordPress search with SearchWP. Now that you have the plugin setup, you may want to add live Ajax search to your website, create a search by category feature, or more.
We hope this article helped you learn how to create advanced search form in WordPress for custom post types. You may also want to see our guide on how to increase your blog traffic and our expert pick of the best live chat software for small businesses.