Задача. Необходимо удалить массово сразу тысячи товаров из конкретной категории Woocommerce. Проблема в том, что сервер не справляется с удолением даже по 50 шт. Удалять вручную по 10 товаров — плохой вариант.
Решение 1. Можно использовать плагин Store Toolkit for WooCommerce. Он способен удалять товары по категориям (Delete Products by Product Category — Изображение 1). Но проблема в том, что плагин циклично удаляет по 100 товаров за раз. Сервер не вытягивает и через 10-20 записей возвращает ошибку. В настройках плагина изменить количество товаров, удаляемых за один проход, нельзя.
В данном случае можно попробовать изменить эту цифру (100) в коде самого плагина. Примерно в 626-й строке файла / includes / functions.php
изменить в массиве $args
значение 'numberposts' => 100
на 10-20. Примерно как выглядит код, где искать смотреть Код №1 ниже.
1 2 3 4 5 6 7 8 9 10 11 12 |
// WooCommerce (строка 618) case 'product': $post_type = array( 'product', 'product_variation' ); $args = array( 'post_type' => $post_type, 'fields' => 'ids', 'post_status' => woo_st_post_statuses(), 'numberposts' => 100 ); |
Решение 2. Коммерческий плагин WooCommerce Advanced Bulk Edit очень хорошо справляется с массовым редактированием товаров и в том числе с их удалением по различным фильтрам. Удалять можно в корзину или минуя ее.