Незважаючи на те, що WooCommerce є дуже надійною торговельною платформою, яка значно розвинулася за останні роки, у ній все ще бракує багатьох опцій. Однією з них є можливість автоматично видаляти зображення продукту в WooCommerce, коли продукт видаляється.
Точніше, коли ми видаляємо продукт із WooCommerce, пов’язані з ним зображення залишаються на сервері. Інтернет-магазин із тисячами товарів збере значну кількість зображень. Якщо ці фотографії не видалити разом із продуктами, то з часом вони займуть значний обсяг пам’яті.
Коли в ВООКУМЕРСЬКА додається новий продукт, принаймні зображення презентації буде продубльоване не менше трьох разів – чотири рази, різних розмірів. Є деякі themes від Woo, який може створити до 10 копій оригінального зображення для різних макетів.
Найкращим рішенням для оптимізації місця, яке займають зображення продуктів на сервері веб-хостингу, є їх видалення разом із видаленням продуктів з інтернет-магазину.
Як автоматично видаляти зображення продуктів у WooCommerce, коли ви видаляєте продукти
У мене є інтернет-магазин, де є льон media library 23 567 зображень, більшість продуктів WooCommerce. Якби я видалив продукти, яких більше немає в наявності, зображення залишилися б у медіа-бібліотеці (на сервері).

Щоб автоматично видалити зображення продуктів у WooCommerce разом із продуктами, все, що вам потрібно зробити, це додати наступний код у файл functions.php активної теми:
*Наполегливо рекомендується спочатку створити резервну копію папки wp-content/uploads.
// Automatically Delete Woocommerce Images After Deleting a Product
add_action( 'before_delete_post', 'delete_product_images', 10, 1 );
function delete_product_images( $post_id )
{
$product = wc_get_product( $post_id );
if ( !$product ) {
return;
}
$featured_image_id = $product->get_image_id();
$image_galleries_id = $product->get_gallery_image_ids();
if( !empty( $featured_image_id ) ) {
wp_delete_post( $featured_image_id );
}
if( !empty( $image_galleries_id ) ) {
foreach( $image_galleries_id as $single_image_id ) {
wp_delete_post( $single_image_id );
}
}
}
Корисно знати, що після збереження наведеного вище коду в functions.php, зображення продукту буде видалено автоматично, разом із товаром. Коли продукти видаляються та з “Trash“.

Разом з товарами, видаленими з інтернет-магазину Також було видалено 3336 зображень пов'язані. Досить важлива цифра, яка займала б непотрібне місце на сервері веб-хостингу.
- Як налаштувати сторінку «Немає продуктів, що відповідають вашому вибору» в WooCommerce - Оптимізація продажів в Інтернет-магазинах
- Як очистити величезні wp_options у SQL - перехідні, wpseo_sitemap _cache_validator
- Як швидко видалити всі команди (замовлення) у WooCommerce [поради SQL]
- Виправити величезні таблиці SQL: WP_Actionscheduler_actions & wp_actionscheduler_logs [Поради щодо WooCommerce]
- Cum debifam неявна "корабель на різну адресу" din pagina de checkout a woocommerce
Не використовуйте цю опцію, якщо ви використовуєте однакові зображення для кількох продуктів. Вони будуть видалені автоматично, якщо продукт, у якому вони присутні, буде видалено.
Це допомогло, дякую!
Дуже дякую, ви вирішили для мене велику проблему.
Саме те, що я шукав або потребував 👍
Плагін, який я використовував раніше, не працював так надійно, як цей фрагмент
Дуже дякую, це економить мені багато роботи та багато часу