Як автоматично видалити зображення продукту в 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 зображень пов'язані. Досить важлива цифра, яка займала б непотрібне місце на сервері веб-хостингу.

Не використовуйте цю опцію, якщо ви використовуєте однакові зображення для кількох продуктів. Вони будуть видалені автоматично, якщо продукт, у якому вони присутні, буде видалено.

Захоплений технологіями, з 2006 року з радістю пишу на StealthSettings.com. Маю багаторічний досвід роботи з операційними системами: macOS, Windows і Linux, а також з мовами програмування і платформами для блогів (WordPress) та онлайн-магазинів (WooCommerce, Magento, PrestaShop).

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

    відповісти
Залишити коментар