навіть якщо 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
- Як швидко видалити всі замовлення (Orders) з WooCommerce [Поради щодо SQL]
- ВИПРАВИТИ ВЕЛИЧЕЗНІ таблиці SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Поради]
- Як зняти галочку за замовчуванням “Ship to different address” зі сторінки Woocommerce Checkout
Не використовуйте цю опцію, якщо ви використовуєте однакові зображення для кількох продуктів. Вони будуть видалені автоматично, якщо продукт, у якому вони присутні, буде видалено.
Це допомогло, дякую!
Grazie mille, ви вирішили для мене велику проблему.
Genau was ich gesucht bzw. потрібно мати 👍
Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit