Поиск по категориям в WooCommerce

Для того, чтобы при поиске можно было выбирать категорию товаров, которые вы хотите найти, нужно заменить форму поиска 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

Вам помогла эта статья? Оцените!
(Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *