Задача. Необходимо удалить массово сразу тысячи товаров из конкретной категории 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
13
14
|
// 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 очень хорошо справляется с массовым редактированием товаров и в том числе с их удалением по различным фильтрам. Удалять можно в корзину или минуя ее.