Как автоматично да изтриете изображения на продукти в WooCommerce, заедно с продукта

Въпреки че 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".

Как автоматично да изтриете изображения на продукти в WooCommerce, заедно с продукта
Изтрийте изображението на продукта WooCommerce

Заедно с продуктите, премахнати от онлайн магазина 3336 изображения също бяха изтрити свързани. Доста важно число, което би заело ненужно място на уеб хостинг сървъра.

Не използвайте тази опция, ако използвате едни и същи изображения за няколко продукта. Те ще бъдат изтрити автоматично, ако бъде премахнат продукт, в който присъстват.

как да » WordPress » Как автоматично да изтриете изображения на продукти в WooCommerce, заедно с продукта

Страстен към технологиите, обичам да тествам и пиша уроци за операционните системи macOS, Linux, Windows, относно WordPress, WooCommerce и конфигурирайте LEMP уеб сървъри (Linux, NGINX, MySQL и PHP). пиша на StealthSettings.com от 2006 г. и няколко години по-късно започнах да пиша в iHowTo.Tips уроци и новини за устройства в екосистемата Apple: iPhone, Ай Пад, Apple Гледайте, HomePod, iMac, MacBook, AirPods и аксесоари.

Оставете коментар