Come eliminare automaticamente le immagini dei prodotti in WooCommerce, insieme al prodotto

Anche se WooCommerce è una piattaforma di shopping molto robusta che si è sviluppata molto negli ultimi anni, ci sono ancora molte opzioni mancanti. Uno di questi è la possibilità di eliminare automaticamente le immagini del prodotto in WooCommerce quando un prodotto viene eliminato.

Più precisamente, quando eliminiamo un prodotto da WooCommerce, le immagini ad esso associate rimangono sul server. Un negozio online con migliaia di prodotti raccoglierà un numero significativo di immagini. Se queste immagini non vengono eliminate insieme ai prodotti, nel tempo occuperà una notevole quantità di spazio di archiviazione.

Quando dentro WooCommerce viene aggiunto un nuovo prodotto, almeno l'immagine di presentazione verrà duplicata almeno tre - quattro volte, in dimensioni diverse. Ci sono alcuni themes di Woo che può realizzare fino a 10 copie dell'immagine originale, per diversi layout.

La soluzione migliore per ottimizzare lo spazio occupato dalle immagini dei prodotti sul server del web hosting è quella di eliminarle insieme ai prodotti rimossi dal negozio online.

Come eliminare automaticamente le immagini dei prodotti in WooCommerce quando elimini i prodotti

Ho un negozio online che ha il lino media library 23.567 immagini, la maggior parte dei prodotti WooCommerce. Se dovessi eliminare i prodotti che non sono più disponibili, le immagini rimarrebbero nella libreria multimediale (sul server).

Immagini del prodotto nella libreria multimediale
Immagini del prodotto nella libreria multimediale

Per eliminare automaticamente le immagini dei prodotti in WooCommerce, insieme ai prodotti, non devi fare altro che aggiungere il seguente codice al file functions.php del tema attivo:

*Si consiglia vivamente di eseguire prima un backup della cartella 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 );
        }
    }
}

È bene sapere che dopo aver salvato il codice sopra in functions.php, le immagini del prodotto verranno eliminate automaticamente, insieme al prodotto. Quando i prodotti vengono cancellati anche da "Trash".

Come eliminare automaticamente le immagini dei prodotti in WooCommerce, insieme al prodotto
Elimina l'immagine del prodotto WooCommerce

Insieme ai prodotti rimossi dal negozio online Sono state eliminate anche 3336 immagini associato. Un numero piuttosto importante, che avrebbe occupato spazio inutile sul server del web hosting.

Non utilizzare questa opzione se utilizzi le stesse immagini per più prodotti. Saranno cancellati automaticamente se un prodotto in cui sono presenti viene rimosso.

Come » WordPress » Come eliminare automaticamente le immagini dei prodotti in WooCommerce, insieme al prodotto

Appassionato di tecnologia, mi piace testare e scrivere tutorial sui sistemi operativi macOS, Linux, Windows, circa WordPress, WooCommerce e configurare i server web LEMP (Linux, NGINX, MySQL e PHP). scrivo StealthSettings.com dal 2006, e qualche anno dopo ho iniziato a scrivere su iHowTo.Tips tutorial e notizie sui dispositivi nell'ecosistema Apple: iPhone, iPad, Apple Guarda, HomePod, iMac, MacBook, AirPods e accessori.

Lascia un tuo commento