Незважаючи на те, що WooCommerce є дуже надійною платформою для покупок, яка значно розвинулася за останні роки, у ній все ще бракує багатьох опцій. Однією з них є можливість автоматично видаляти зображення продукту в WooCommerce, коли продукт видаляється.
Точніше, коли ми видаляємо продукт із WooCommerce, пов’язані з ним зображення залишаються на сервері. Інтернет-магазин із тисячами товарів збере значну кількість зображень. Якщо ці зображення не видалити разом із продуктами, то з часом вони займуть значний обсяг пам’яті.
Коли в WooCommerce додається новий продукт, принаймні презентаційне зображення буде продубльоване не менше трьох-чотирьох разів у різних розмірах. Є деякі themes від Woo, який може створити до 10 копій оригінального зображення для різних макетів.
Найкращим рішенням для оптимізації місця, яке займають зображення продуктів на сервері веб-хостингу, є їх видалення разом із видаленням продуктів з інтернет-магазину.
Як автоматично видаляти зображення продуктів у WooCommerce, коли ви видаляєте продукти
У мене є інтернет-магазин, де є льон media library 23.567 XNUMX зображень, більшість продуктів 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 - Transients, wpseo_sitemap _cache_validator
- Як швидко видалити всі замовлення у WooCommerce [Поради щодо SQL]
- ВИПРАВЛЕННЯ ВЕЛИЧЕЗНИХ таблиць SQL: wp_actioncheduler_actions & wp_actioncheduler_logs [Поради WooCommerce]
- Як зняти прапорець біля пункту «Доставка в інше address ”зі сторінки Woocommerce Checkout
Не використовуйте цю опцію, якщо ви використовуєте однакові зображення для кількох продуктів. Вони будуть видалені автоматично, якщо продукт, у якому вони присутні, буде видалено.