How to rewrite wordpress search to work on specific category
You can use add_rewrite_rule(): add_action( ‘init’, function(){ // Non-paged requests. E.g. example.com/categoryname/search/keyword/ add_rewrite_rule( ‘^categoryname/search/([^/]+)/?$’, ‘index.php?category=categoryname&s=$matches[1]’, ‘top’ ); // For paged requests. E.g. example.com/categoryname/search/keyword/page/2/ add_rewrite_rule( ‘^categoryname/search/([^/]+)/page/(\d+)/?$’, ‘index.php?category=categoryname&s=$matches[1]&paged=$matches[2]’, ‘top’ ); } ); Be sure to flush the permalinks — simply visit the Permalink Settings page.