Para agregar la búsqueda por categorias basta con editar el archivo functions.php

add_action('pre_get_posts', 'search_by_cat');
function search_by_cat(){ 
    global $wp_query; 
    if (is_search()) { 
        $cat = intval($_GET['cat']); 
        $cat = ($cat > 0) ? $cat : »; 
        $wp_query- >query_vars['cat'] = $cat; 
    }
}

Si la plantilla no tiene el archivo searchform.php debemos crear uno. Podemos usar este código para ello



<form method="get" action="<?php bloginfo('url'); ?>"> <input type="text" name="s" size="15" /> 
<?php 
wp_dropdown_categories('show_option_none=Select category'); 
?> 
<input type="submit" value="Search" /></form>