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 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).

Per eliminare automaticamente le immagini del prodotto 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".

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.
- Come personalizzare la pagina "Non sono stati trovati prodotti corrispondenti alla tua selezione" in WooCommerce - Ottimizzazione delle vendite sui negozi online
- Come pulire un enorme wp_options in SQL - Transitori, wpseo_sitemap _cache_validator
- Come eliminare rapidamente tutti gli ordini (ordini) da WooCommerce [Suggerimenti SQL]
- CORREGGERE ENORMI tabelle SQL: wp_actionscheduler_actions e wp_actionscheduler_logs [WooCommerce Suggerimenti]
- Come deselezionare l'impostazione predefinita “Ship to different address” dalla pagina di pagamento di Woocommerce
Non utilizzare questa opzione se utilizzi le stesse immagini per più prodotti. Saranno cancellati automaticamente se un prodotto in cui sono presenti viene rimosso.
Questo ha aiutato, grazie!
Grazie mille, mi hai risolto un grosso problema.
Genau era ich gesucht bzw. serve habe 👍
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