|

Авто удаление изображения товара Woocommerce

Интернет магазин WordPress WooCommerce самая развивающиеся платформа для создания интернет-магазинов, но все еще есть опции которых очень не хватает.

Готовый интернет-магазин

Готовый интернет-магазин уже имеет функцию автоудаления изображения товара. Ознакомиться и получить полный функционал, можно здесь:

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

Простое решение – Вставить код в конце /functions.php код:

// Aвтоматическое удаление изображений Woocommerce после удаления продукта
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 );
        }
    }
}

Когда мы удаляем товар из WooCommerce, связанные с ним изображения остаются на хостинге. Интернет-магазин с тысячами товаров соберет кучу мусора.

Если эти картинки не удалить вместе с товарами, то со временем они займут значительный объем памяти. Когда в WooCommerce добавляется товар, изображение будет продублировано минимум три-четыре раза, в разных размерах. Есть темы WordPress, которые создают до 10 копий исходного изображения для разных макетов.

Лучшим решением для оптимизации WordPress c изображениями для Woocommerce товаров, это их удаление вместе с товарами из интернет-магазина. Как автоматически удалять изображения товаров в WooCommerce когда вы удаляете сам товар.