Автоматическая очистка неиспользуемых вариаций товаров в WooCommerce

|

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

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

Как определить, что в вашем магазине есть неиспользуемые вариации:

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

Реализуем удаление вариаций, которые соответствуют определённым критериям, например, статус "trash" или отсутствие запаса. Для этого используем WP-CLI или PHP-код с хуком, который можно запускать через WP-Cron.

Пример PHP-функции для удаления вариаций с нулевым запасом

function wc_delete_zero_stock_variations() {
    $args = [
        'post_type'      => 'product_variation',
        'posts_per_page' => -1,
        'meta_query'     => [
            [
                'key'     => '_stock',
                'value'   => '0',
                'compare' => '=',
                'type'    => 'NUMERIC'
            ]
        ]
    ];

    $variations = get_posts( $args );

    foreach ( $variations as $variation ) {
        wp_delete_post( $variation->ID, true );
    }
}

// Запуск функции вручную
wc_delete_zero_stock_variations();

Автоматизация через WP-Cron

Добавим задачу, которая будет запускать очистку каждую неделю:

function schedule_wc_variation_cleanup() {
    if ( ! wp_next_scheduled( 'wc_variation_cleanup_hook' ) ) {
        wp_schedule_event( time(), 'weekly', 'wc_variation_cleanup_hook' );
    }
}
add_action( 'wp', 'schedule_wc_variation_cleanup' );

add_action( 'wc_variation_cleanup_hook', 'wc_delete_zero_stock_variations' );

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

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

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

Сравнение методов удаления вариаций

МетодПреимуществаНедостатки
Удаление вручную через админкуПростота, контрольМедленно, не подходит для большого количества вариаций
PHP-скрипт с WP-CronАвтоматизация, гибкость условийТребует настройки, возможны ошибки в логике
WP-CLI командыБыстро, подходит для разработчиковНеудобно для пользователей без SSH доступа
Как автоматизировать управление медиа-содержимым в WordPress: практические решения и примеры
31.01.2026
Как создать автоматические списки в WordPress с помощью PHP и JavaScript
11.03.2026
Как использовать хуки в WordPress для автоматизации задач
26.11.2025
Как создать динамическую таблицу в WordPress с помощью AJAX
18.02.2026
Как заблокировать доступ к файлам в медиабиблиотеке WordPress через .htaccess
15.05.2026
×
Обнови свой WordPress!

Держи скидку 15% на премиум тему Reboot

Купить со скидкой ⋙