Как удалить категории из архива WooCommerce

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

Почему важно удалять категории из архива WooCommerce

Удаление категорий из страницы архива WooCommerce может потребоваться, если:

  • Вы хотите скрыть категории с определённым статусом или для определённой аудитории.
  • Категории содержат товары, которые временно не продаются, но их нельзя удалять.
  • Необходима фильтрация категорий по бизнес-логике без изменения структуры каталога.

Простое удаление категории в админке приведёт к удалению товаров и может повлиять на SEO. Поэтому правильнее использовать методы, скрывающие категории на фронтенде.

Удаление категорий из архива с помощью WPMA фильтра woocommerce_product_categories_widget_args

Одним из вариантов является использование фильтра woocommerce_product_categories_widget_args, который позволяет изменить параметры отображения категорий. Однако он влияет на виджет категорий, а не на основную страницу архива.

Чтобы убрать категории именно с архивной страницы, нужно применить фильтр get_terms_args — он позволяет изменить параметры запроса категорий.

Пример кода для удаления категорий из архива WooCommerce по ID

function wpma_exclude_categories_from_archive( $args, $taxonomies ) {
    if ( in_array( 'product_cat', $taxonomies ) ) {
        // ID категорий, которые нужно исключить
        $excluded_cat_ids = array( 15, 23, 42 );
        if ( ! isset( $args['exclude'] ) ) {
            $args['exclude'] = $excluded_cat_ids;
        } else {
            $args['exclude'] = array_merge( (array) $args['exclude'], $excluded_cat_ids );
        }
    }
    return $args;
}
add_filter( 'get_terms_args', 'wpma_exclude_categories_from_archive', 10, 2 );

В этом коде мы исключаем категории с ID 15, 23 и 42 из всех запросов термов product_cat, в том числе с архивных страниц. Если нужно исключать категории по слагу, можно доработать код, получая ID по названию.

Удаление категорий из архива с помощью плагина Clearfy Pro

Если хочется избежать правки кода, можно использовать плагин Clearfy Pro, который предоставляет удобные настройки для оптимизации WooCommerce, в том числе скрытие категорий и товаров на фронтенде.

В Clearfy Pro есть модуль для управления видимостью таксономий. Включив его, можно быстро задать категории для скрытия без кодинга.

Удаление категорий из архива, скрывая их через pre_get_terms

Ещё один способ — использовать фильтр pre_get_terms, который позволяет отменять запрос термов и возвращать пустой массив для определённых категорий.

Пример кода с фильтром pre_get_terms

function wpma_prevent_categories_in_archive( $terms, $taxonomies, $args, $term_query ) {
    if ( in_array( 'product_cat', $taxonomies ) ) {
        $exclude_slugs = array( 'skrytye-kategorii', 'archive-hide' );
        foreach ( $terms as $key => $term ) {
            if ( in_array( $term->slug, $exclude_slugs ) ) {
                unset( $terms[ $key ] );
            }
        }
    }
    return $terms;
}
add_filter( 'pre_get_terms', 'wpma_prevent_categories_in_archive', 10, 4 );

Таким образом, категории с указанными слагами не попадут в список на архивной странице.

Как проверить, что категории успешно скрыты

После добавления кода или настройки плагина необходимо очистить кеш сайта и браузера, чтобы изменения вступили в силу. Проверьте страницы архива категорий, убедитесь, что скрытые категории не отображаются.

Для тестирования можно использовать режим инкогнито или инструменты разработчика, чтобы исключить влияние кеша.

Заключение: какой способ выбрать

Если у вас небольшой сайт и вы комфортно работаете с кодом, лучше использовать фильтры get_terms_args или pre_get_terms с кастомным кодом. Они гибко решают задачу и не требуют дополнительных плагинов.

Если вы предпочитаете готовые решения и хотите централизованно управлять видимостью категорий и товаров, обратите внимание на плагин Clearfy Pro.

В любом случае, скрытие категорий из архива WooCommerce — полезный инструмент для точной настройки каталога и улучшения пользовательского опыта.

Как использовать WPRemark для автоматизации отзывов в WordPress
10.03.2026
WooCommerce: решение проблемы с отображением способов доставки
07.05.2026
Оптимизация WordPress для мобильных устройств: практические советы и примеры
30.11.2025
Как создать собственный виджет в WordPress
23.11.2025
Как создать автоматический импорт из CSV в WordPress
18.01.2026