Как скрыть товары дочерних категорий на странице категории WooCommerce

Иногда нужно скрыть товары дочерних категорий на странице родительской категории в WooCommerce. Для этого можно использовать следующий сниппет:

function custom_pre_get_posts_query( $query ) {

        $children = get_term_children( $query->queried_object_id , 'product_cat' );

        $tax = $query->get( 'tax_query');
        $tax[] = array(
                'taxonomy' => 'product_cat',
                'field' => 'id',
                'terms' => $children,
                'operator' => 'NOT IN',
            );

        $query->set( 'tax_query', $tax );
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );

Вам нужно будет поместить этот код в файл functions.php вашей темы.


Обновлено: 08.02.2018

Вам помогла эта статья? Оцените!
(5 оценок, среднее: 4,80 из 5)
Загрузка...

Комментариев: 2

  • Добрый день. Код работает с woocommerce 3, спасибо.
    Но есть небольшой нюанс: если товар выбран на главной категории и в дочерней, то на главной он не отображается хотя по логике должен.
    Возможно ли обновить код с учетом этой особенности?

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

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