Cum stergi automat imaginile produselor in WooCommerce, odata cu produsul

Chiar daca WooCommerce este o platforma de shopping foarte robusta si care s-a dezvoltat mult in ultimii ani, inca sunt multe optiuni lipsa. Una dintre acestea este posibilitatea sa stergi automat imaginile produselor in WooCommerce atunci cand un produs este sters.

Mai exact, atunci cand stergem un produs din WooCommerce, imaginile asociatate acestuia raman pe server. La un magazin online cu mii de produse se va aduna un numar important de imagini. Daca aceste poze nu sunt sterse odata cu produsele, atunci de-a lungul timpului se va ocupa un spatiu de stocare important.

Atunci cand in WooCommerce este adaugat un produs nou, cel putin imaginea de prezentare va fi duplicata de cel putin trei – patru ori, la dimensiuni diferite. Sunt unele themes de Woo care pot sa faca si pana la 10 copii ale imaginii originale, pentru diferite layouts.

Cea mai buna solutie pentru optimizarea spatiului ocupat pe serverul de webhosting de imaginile produselor, este ca acestea sa fie sterse odata cu produsele eliminate din magazinul online.

Cum stergi automat imaginile produselor in WooCommerce atunci cand stergi produse

Am un magazin online care are in media library 23.567 de imagini, majoritatea ale produselor WooCommerce. Daca as sterge produsele care nu mai sunt in stoc, imaginile ar ramane in biblioteca media (pe server).

Product Images in Media Library
Product Images in Media Library

Ca sa stergi automat imaginile produselor in WooCommerce, odata cu produsele, tot ce trebuie sa faci este sa adaugi in fisierul functions.php al temei active, urmatorul cod:

*Este foarte recomandat sa faci inainte un backup al folderului 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 );
        }
    }
}

Este bine sa stii ca dupa ce salvezi codul de mai sus in functions.php, imaginile produselor vor fi sterse automat, odata cu produsul. Atunci cand produsele sunt sterse si din “Trash“.

Cum stergi automat imaginile produselor in WooCommerce, odata cu produsul
Delete WooCommerce Product Image

Odata cu produsele elimintate din magazinul online au fost sterse si 3336 imagini asociate. Un numar destul de important, care ar fi ocupat spatiu inutil pe serverul de web hosting.

Nu folositi aceasta optiune daca folositi aceleasi imagini la mai multe produse. Acestea vor fi sterse automat daca este eliminat un produs la care sunt prezente.

Pasionat de tehnologie, scriu cu plăcere pe StealthSettings.com începând cu anul 2006. Am o bogată experiență în sistemele de operare: macOS, Windows și Linux, dar și în limbaje de programare și platforme de blogging (WordPress) și pentru magazine online (WooCommerce, Magento, PrestaShop).

How to » WordPress » Cum stergi automat imaginile produselor in WooCommerce, odata cu produsul

3 thoughts on “Cum stergi automat imaginile produselor in WooCommerce, odata cu produsul”

  1. Genau was ich gesucht bzw. benötigt habe 👍

    Das PlugIn das ich bisher genutzt habe, funktionierte nicht so zuverlässig wie dieses Snippet

    Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit

    Reply
Leave a Comment