Copied!
It's on your clipboard.
You’ve been offline for 0 second. Please check your Internet connection.

Help Us Improve

Found an issue or have an idea? Let us know.
Select all that apply...
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Limit Search Results to Specific Post Types
Preview
Download Template
Report Bug

Info

Resource
CMS
Builder
No items found.
Add-ons
No items found.
Last Updated
Jan 2, 2026

Overview

This snippet restricts WordPress search results to specific post types.

Instead of searching across all content, it limits results to only the post types you define, helping keep search results more relevant and intentional.

Features

Setup

01
Add External Scripts

Copy & paste the scripts before the </body> tag of your project. If you added them before for another setup, skip this step.

Language
Copy
01
Copy structure to Elementor

Right-click in Elementor, choose “Paste from another site,” and while the popup is open, press cmd/ctrl + v to insert the layout.

Copy To Elementor
01
Add HTML

Place the code in an HTML widget or add it through Elementor → Custom Code (before the closing </body> tag) either globally or only on selected pages.

Language
Copy
01
Add custom CSS

Paste the code through the page or site settings, or add it via Elementor → Custom Code (before </body>) for broader use.

Language
Copy
01
Add custom Javascript

Paste the script through Elementor → Custom Code (set to load after </body>) for site-wide or page-specific loading.

Language
Copy
01
Add custom PHP

Place the PHP snippet inside your theme’s functions.php or using any code snippet to enable logic.

Language
Copy
if (!is_admin()) {
  function mv_search_filter($query) {
    if ($query->is_search) {
      $query->set('post_type', array('post','product')); // change post slugs here
    }
    return $query;
  }
  add_filter('pre_get_posts', 'mv_search_filter');
}
01
01
Publish and preview live
Some solutions only work on the live site. Always publish and test after each change, as results may not appear in the editor.

Implementation

You can control which content appears in search results by editing the post_type array in the code. This array accepts post type slugs, which are the internal identifiers WordPress uses for content types, such as post, page, product, or any custom post type.

To include additional content types, add their slugs to the array.

For example, adding page will include pages in search results, while adding a custom post type slug like portfolio or case-studies will include that content as well.

Removing a slug from the array will exclude that post type from search results.