Как автоматично изтривате изображения на продукта в WooCommerce, с продукта
Въпреки че WooCommerce е много стабилна платформа за пазаруване, която се разви много през последните години, все още има много липсващи опции. Една от тях е възможността за автоматично изтриване на изображенията на продукта в 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 TIPS]
- Поправете огромни SQL таблици: WP_ACTIONCHEDULER_ACTIONS & wp_actionscheduler_logs [Съвети за WooCommerce]
- С подразбиращо се „Изпращане до различен адрес“ на страницата на Checkout в Woocommerce
Не използвайте тази опция, ако използвате едни и същи изображения за няколко продукта. Те ще бъдат изтрити автоматично, ако бъде премахнат продукт, в който присъстват.
Как автоматично изтривате изображения на продукта в WooCommerce, с продукта
Какво ново
Около Stealth
Страстен по технологиите, с удоволствие пиша за StealthSettings.com от 2006 година. Имам богат опит със системи за операционни: macOS, Windows и Linux, както и с езици за програмиране и платформи за блогове (WordPress) и за онлайн магазини (WooCommerce, Magento, PrestaShop).
Вижте всички публикации от StealthМоже също да се интересувате от...
3 мисли за “Как автоматично изтривате изображения на продукта в WooCommerce, с продукта”
Това помогна, благодаря!
Благодаря много, решихте голям проблем за мен.
Точно това, което търсих или имах нужда 👍
Приставката, която използвах преди това, не работеше толкова надеждно, колкото този фрагмент
Благодаря ви много, това ми спестява много работа и много време