WooCommerce: как установить родительскую категорию при импорте товаров CSV

|

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

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

Основные признаки проблемы:

Причина проблемы

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

Пошаговое решение: как правильно импортировать категории с родительскими

  1. Подготовьте CSV с полным путем категорий: используйте формат категории с разделителем. Например, для категории "Обувь > Мужская > Кроссовки" укажите в CSV в поле категорий строку:
    Обувь > Мужская > Кроссовки
    Это позволит WooCommerce автоматически создать иерархию категорий.
  2. Убедитесь, что все родительские категории существуют или импортируйте их вместе с дочерними. WooCommerce создаст недостающие категории при импорте, если они указаны в пути.
  3. Используйте официальный WooCommerce CSV импортер, который поддерживает иерархию категорий в поле "Categories".
  4. Для автоматической установки родительской категории при импорте добавьте пользовательский код в functions.php темы или плагина, чтобы обрабатывать категории после импорта:
add_action('woocommerce_product_import_inserted_product_object', 'set_parent_category_automatically', 10, 1);
function set_parent_category_automatically($product) {
    $terms = wp_get_post_terms($product->get_id(), 'product_cat');
    foreach ($terms as $term) {
        if ($term->parent == 0) {
            // Категория - родительская, можно пропустить
            continue;
        }
        $parent = get_term($term->parent, 'product_cat');
        if ($parent && !has_term($parent->term_id, 'product_cat', $product->get_id())) {
            wp_set_post_terms($product->get_id(), [$term->term_id, $parent->term_id], 'product_cat');
        }
    }
}

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

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

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

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

Сравнение вариантов настройки импортера для категории WooCommerce

ВариантОписаниеПлюсыМинусы
Официальный WooCommerce CSV ImporterИмпорт с полным путем категорий через поле "Categories"Поддержка иерархии, простота использования, совместимостьОграниченный функционал, нет расширенной логики
Пользовательский код для автоустановки родительских категорийДобавление родительских категорий после импортаГибкость, автоматизация исправления иерархииТребует правки кода, возможны баги при сложных структурах
Плагины сторонних разработчиковРасширенные возможности импорта и управления категориямиБогатый функционал, поддержка сложных сценариевМогут конфликтовать, платные, требуют обновлений
Как создать иерархию виджетов в WordPress с помощью кода
05.01.2026
WooCommerce: автоматическое установление родительской категории при массовом импорте товаров
08.07.2026
Как создать иерархию категорий с переходами в WordPress
29.12.2025
WooCommerce: как исправить не работающий AJAX-фильтр по иерархии категорий
26.05.2026
Как создать иерархию шаблонов в WordPress для разных типов страниц
24.01.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее