In order to filter search results by category, use the following code:
$url = get_bloginfo('url'); $url = esc_attr(add_query_arg(array('cat' => '10', 's' => get_search_query()), $url)); echo "<a href='$url' rel='nofollow'>Filter by category 10</a>"; |
Put this in your search results template. What the code does is to create a link that takes the current search query and adds the category variable to it. This link filters the results by category 10, change the number to correct category ID to make it filter by the category you want to.
Remember that whenever you link to search results like that, it’s a good idea to tell Google and other bots to avoid indexing the results. The link above has the “rel=’nofollow’” instruction, but you can also use robots.txt to prevent bots from spidering your search results pages.