Как автоматично да изтриете изображения на продукти в 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 изображения също бяха изтрити свързани. Доста важно число, което би заело ненужно място на уеб хостинг сървъра.

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

Като пасиониран по технологии, пиша с удоволствие в StealthSettings.com от 2006 г. Имам обширен опит с операционни системи: macOS, Windows и Linux, както и с програмни езици и платформи за блогове (WordPress) и онлайн магазини (WooCommerce, Magento, PrestaShop).

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

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

  1. 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

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