Simple way to search custom-post types only

I'm just trying to find a way to narrow my current search bar so that it only searches within my 'events' custom post-type.

I do not want the search to index any other post type, only 'events'.

Here's the search bar:

form id="searchform" action="http://localhost:8888/ltc" method="get"
        input class="inlineSearch" type="text" name="s" value="Enter a keyword" onblur="if (this.value == '') {this.value = 'Enter a keyword';}" onfocus="if (this.value == 'Enter a keyword') {this.value = '';}" /
        input class="inlineSubmit" id="searchsubmit" type="submit" alt="Search" value="Search" /
    /form

And the search.php:

?php if ( have_posts() ) : ?
            h1?php printf( __( 'Search Results for: %s', 'twentyten' ), '' . get_search_query() . '' ); ?/h1
            ?php
            /* Run the loop for the search to output the results.
             * If you want to overload this in a child theme then include a file
             * called loop-search.php and that will be used instead.
             */
             get_template_part( 'loop', 'search' );
            ?

(I haven't actually edited the default search.php page yet, as I just want to get the indexing correct first)

Thanks

Topic search-engines custom-post-types Wordpress search

Category Web


To search for a custom post, you just have to put the post type in the value section.
ex: My Custom post type is "blogpst". Now see what i did actually in the second input field

<input type="hidden" name="post_type" value="blogpst" />

See, What i have did. I just put the post type in value section.


To tag along with Hansy check out my post here: search only pages if on page to use radio checkboxes to give the users an option of what they wish to search.


To search for a custom post type , you can add to the query &post_type=events , to achieve this just edit your form like this

<form id="searchform" action="http://localhost:8888/ltc" method="get">
        <input class="inlineSearch" type="text" name="s" value="Enter a keyword" onblur="if (this.value == '') {this.value = 'Enter a keyword';}" onfocus="if (this.value == 'Enter a keyword') {this.value = '';}" />
        <input type="hidden" name="post_type" value="events" />
        <input class="inlineSubmit" id="searchsubmit" type="submit" alt="Search" value="Search" />
</form>

You can do this for any post type (needs to be an existent one or will be discarded) and will work just fine

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.