Як автоматично видалити зображення продукту в 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, iPad, Apple Годинник, HomePod, iMac, MacBook, AirPods та аксесуари.

Залишити коментар