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’.

Read More

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

Related posts

Leave a Reply

3 comments

  1. 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

  2. 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.