Для того, чтобы при поиске можно было выбирать категорию товаров, которые вы хотите найти, нужно заменить форму поиска WooCommerce на следующую форму:
<?php $dropdowncats = wp_dropdown_categories(
'hide_empty=0&depth=1&selected='.$_GET['cat'].'&hierarchical=1&echo=0&taxonomy=category&show_option_none=Все категории'
); ?>
<form id="searchform" role="search" class="search" method="get" action="<?php echo home_url( '/' ); ?>" >
<input name="s" id="s" type="text" value="<?php echo get_search_query(); ?>" placeholder="введите запрос..."/>
<input type="hidden" name="post_type" value="product" />
<?php echo $dropdowncats; ?>
<input type="submit" class="submit" name="submit" id="searchsubmit" value="Найти" />
</form>
Теперь изменим вывод товаров в зависимости от выбранной категории:
add_action('pre_get_posts', 'search_by_cat');
function search_by_cat() {
global $wp_query;
if (is_search()) {
$cat = intval($_GET['cat']);
if($cat<0){
$wp_query->query_vars['product_cat'] = '';
}else{
$term = get_term_by('id',$cat,'product_cat');
$wp_query->query_vars['cat'] = '';
$wp_query->query_vars['product_cat'] = $term->slug;
}
}
}
Обновлено: 29.04.2018
Вам помогла эта статья? Оцените!