I’m trying to limit a search to only pages, but it isn’t working properly. When I include this hidden field in the search form:
<input type="hidden" name="post_type" value="page" />
The results include posts, pages, and custom post types. If I change the above to search only posts, it works properly, and only posts are displayed. Anyone have any ideas why it won’t properly restrict my post to only display pages?
I need to restrict the results for this search form only, so modifying the search query results in the search results template or in functions.php won’t work for me.
A quick test on a default install with TwentyEleven confirms this, and I’m not sure why this is the case, however there is a way you can do this via your
functions.php
.add a hidden field to the form with your own query var:
or:
add the new query var to WP’s recognized query vars:
add your code to set the post type when that query var is set: