Въпреки че 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 - Преходни процеси, wpseo_sitemap _cache_validator
- Как бързо да изтриете всички поръчки на WooCommerce [SQL Съвети]
- ИЗПРАВЕТЕ ОГРОМНИ SQL таблици: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]
- Как да премахнете отметката от „Изпращане до различно address “от страницата на Woocommerce Checkout
Не използвайте тази опция, ако използвате едни и същи изображения за няколко продукта. Те ще бъдат изтрити автоматично, ако бъде премахнат продукт, в който присъстват.