WooCommerce: автоматическое удаление пустых категорий при импорте товаров

|

Диагностика проблемы: пустые категории после импорта товаров

При импорте товаров в WooCommerce через CSV или сторонние инструменты часто возникает проблема: в каталоге появляются категории, которые не содержат ни одного товара. Это происходит из-за того, что импортируемые данные содержат категории, которые не были корректно сопоставлены с товарами, либо товары были удалены, а категории остались. Пустые категории ухудшают UX, влияют на SEO и загромождают админ-панель.

Почему важно автоматизировать удаление пустых категорий

Ручное удаление пустых категорий неудобно и неэффективно, особенно при регулярных больших импортах. Автоматизация позволяет:

Пошаговое решение: код для автоматического удаления пустых категорий после импорта

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

1. Добавление функции удаления пустых категорий

function wc_remove_empty_product_categories() {
    $args = array(
        'taxonomy' => 'product_cat',
        'hide_empty' => false,
    );
    $categories = get_terms($args);
    foreach ($categories as $category) {
        // Проверяем количество товаров в категории
        if ($category->count === 0) {
            // Удаляем пустую категорию
            wp_delete_term($category->term_id, 'product_cat');
        }
    }
}

2. Подключение функции к хуку импорта

Если импорт осуществляется через стандартный WooCommerce CSV импортер, можно использовать хук woocommerce_product_import_inserted_product или woocommerce_product_import_end для вызова нашей функции после завершения импорта.

add_action('woocommerce_product_import_end', 'wc_remove_empty_product_categories');

3. Альтернативный вариант: запуск вручную или по крону

Если импорт идет сторонним плагином без поддержи хука, можно добавить вызов функции в WP-Cron или запускать вручную из админки.

if (isset($_GET['remove_empty_cats'])) {
    wc_remove_empty_product_categories();
    echo 'Empty categories removed';
}

Проверка результата после внедрения

Частые ошибки и их исправление

Практические советы по производительности и безопасности

Таблица сравнения вариантов реализации

МетодПлюсыМинусыКогда использовать
Хук woocommerce_product_import_endАвтоматизация после каждого импорта, простота реализацииЗависит от типа импорта, может не сработать с сторонними плагинамиСтандартный импорт WooCommerce CSV
Запуск вручную через GET-параметрПростой контроль, можно запускать по необходимостиРучная работа, риск случайного запускаМелкие магазины, редкие импорты
WP-Cron или WP-CLI скриптБезопасный, производительный, подходит для больших сайтовТребует настройки cron или доступа к серверуБольшие магазины, регулярное обслуживание
WooCommerce: ограничение доступа к категориям товаров по ролям пользователей
05.06.2026
Динамическая иерархия пользователей WordPress с поддержкой REST API
22.03.2026
Как создать иерархию комментариев в WordPress с пользовательской логикой
18.01.2026
WooCommerce: как исправить неправильное присвоение родительской категории товара
02.06.2026
Создание дерева категорий с подсчетом постов в WordPress
06.03.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше