Исключение товаров из определенной категории на странице магазина

В этом примере показано, как убрать товары из определённой категории со страницы магазина WooCommerce.

Например, здесь используется категория clothing (одежда). Замените её на slug категории, которая есть в вашем магазине.

Обратите внимание: это будет работать только если в настройках WooCommerce > Каталог товаров для параметра «Отображение страницы магазина» выбрано «Показывать товары».

Добавьте этот код в файл functions.php дочерней темы или используйте плагин для добавления пользовательского кода, например Code Snippets.

Не добавляйте код напрямую в файл родительской темы, так как при обновлении он будет перезаписан.

<?php
/**
 * Исключение товаров из определенной категории на странице магазина
 */

function custom_pre_get_posts_query( $q ) {

    $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
        'taxonomy' => 'product_cat',
        'field'    => 'slug',
        'terms'    => array( 'clothing' ), // Не показывать товары из категории clothing на странице магазина
        'operator' => 'NOT IN'
    );

    $q->set( 'tax_query', $tax_query );
}

add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
Скриншот отображения товаров до изменения
Скриншот отображения товаров после изменения

Скрыть количество товаров в подкатегориях в архивах товаров

Этот пример позволяет убрать отображение количества товаров рядом с названиями подкатегорий в архивах WooCommerce.

Добавьте следующий код в functions.php дочерней темы или через плагин Code Snippets.

<?php
/**
 * Скрыть количество товаров в подкатегориях в архивах товаров
 */

add_filter( 'woocommerce_subcategory_count_html', '__return_false' );

Поделиться с друзьями
Документация WooCommerce