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

|

Проблема: необходимость автоматической установки родительской категории товара

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

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

Проверьте, что при добавлении товара в дочернюю категорию родительская не выбирается автоматически:

Если родительские категории не добавляются автоматически — это стандартное поведение WooCommerce.

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

Реализуем PHP-функцию, которая при сохранении товара будет проверять выбранные категории, находить их родительские категории и добавлять их к товару.

add_action('save_post_product', 'wc_auto_add_parent_categories', 20, 3);function wc_auto_add_parent_categories($post_id, $post, $update) {    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;    if ($post->post_type !== 'product') return;    // Получаем все категории товара    $terms = wp_get_post_terms($post_id, 'product_cat', array('fields' => 'ids'));    if (empty($terms)) return;    $all_terms = $terms;    foreach ($terms as $term_id) {        $parent_id = wp_get_term_taxonomy_parent_id($term_id, 'product_cat');        while ($parent_id) {            if (!in_array($parent_id, $all_terms)) {                $all_terms[] = $parent_id;            }            $parent_id = wp_get_term_taxonomy_parent_id($parent_id, 'product_cat');        }    }    // Обновляем категории товара, включая родительские    wp_set_post_terms($post_id, $all_terms, 'product_cat');}

Объяснение:

Как проверить, что решение работает

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

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

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

Вариант Описание Плюсы Минусы
Код на хуке save_post_product (как в статье) Автоматическая подстановка при сохранении товара Простой, не требует плагинов, работает для всех товаров Не срабатывает при массовом импорте без вызова хуков
Использование плагинов автозаполнения категорий Готовые решения с настройками Удобный интерфейс, поддержка Нагрузка, возможны конфликты, часто платные
Реализация через JavaScript на странице редактирования Автоматическая галочка родительской категории в админке Мгновенная реакция пользователя Не гарантирует корректность в базе при импорте или API
Как создать иерархию виджетов с поддержкой AJAX в WordPress
05.04.2026
WooCommerce: решение проблемы с отображением иерархии категорий при фильтрации
27.04.2026
WooCommerce: правильная настройка иерархии атрибутов и фильтров для товаров
04.05.2026
Как создать иерархию пользователей по географии в WordPress с примерами
08.04.2026
Как создать дерево разделений в WordPress с подсчетом и фильтрацией
14.03.2026
×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее