Come rimuovere le immagini WooCommerce inutilizzate dal tuo mercato Dokan

Pubblicato: 2022-04-06

Cerchi soluzioni per rimuovere le immagini mentre elimini in blocco i prodotti WooCommerce?

Mentre gestisci un'attività online, devi essere vigile. Dovresti essere consapevole di tutto come la moda di tendenza, le nuove tendenze e i prodotti obsoleti del tuo negozio. Puoi mantenere il tuo sito aggiornato con gli ultimi prodotti che hanno maggiori probabilità di essere venduti.

Per mantenere aggiornato il tuo negozio, a volte è necessario eliminare alcuni prodotti che non vengono venduti da molto tempo o prodotti fuori stagione. Per un negozio WooCommerce, puoi farlo facilmente usando l'impostazione WooCommerce predefinita o eseguendo un comando SQL.

Ma il problema è che WordPress non elimina i media dopo aver eliminato un post. Questo potrebbe essere un grosso problema per un sito di e-commerce o un mercato con migliaia di immagini di alta qualità.

Nel seguente blog imparerai come rimuovere le immagini di WooCommerce dalla galleria quando elimini un prodotto sia per un singolo negozio che per un mercato multivendor.

Perché dovresti rimuovere le immagini dei prodotti WooCommerce dopo aver eliminato quel prodotto

Devi caricare molti prodotti con migliaia di immagini correlate per il tuo negozio eCommerce. E a volte è anche molto normale eliminare alcuni prodotti dal tuo sito per alcuni motivi. Dopo aver eliminato un prodotto, se controlli la tua libreria multimediale, troverai tutte quelle immagini che sono state utilizzate per i tuoi prodotti eliminati.

Ciò significa che dopo aver eliminato un prodotto in WooCommerce, il sistema rimuove la maggior parte dei dati ad esso associati. Ma l'immagine di quel prodotto rimarrà nel database e nella cartella multimediale. Renderà il tuo sito inutilmente pesante.

Vantaggi della rimozione delle immagini del prodotto dopo l'eliminazione di quel prodotto
1. Migliora le prestazioni del sito
2. Aumenta la velocità del negozio riducendo al minimo lo spazio di archiviazione del server
3. Mantieni il sito leggero
4. Crea più spazio per ulteriori caricamenti
5. Ottimizza il database del negozio

Per i proprietari del mercato, lo scenario è un po' più complesso. È estremamente difficile monitorare tutti i file multimediali caricati da diversi fornitori. Dal momento che un fornitore carica un buon numero di prodotti ogni giorno ed elimina anche molti di quelli esistenti. A loro volta, le immagini dei loro prodotti possono ridurre lo spazio del tuo server, il che non è positivo per le prestazioni del tuo sito.

In tal caso, sarebbe utile eliminare tutte le immagini in evidenza e le immagini della galleria se l'utente/fornitore elimina qualsiasi prodotto.

Ma un altro problema può sorgere lì se qualcuno usa le stesse immagini su più post.

Bene, oggi ti mostreremo le soluzioni per gestire tutti questi ostacoli.

Come eliminare le immagini di Woocommerce dopo aver eliminato un prodotto?

eliminare in blocco i prodotti WooCommerce

Qui useremo l'hook: before_delete_post . Controlla i dettagli su questo gancio qui.

Segui i passaggi seguenti per rimuovere le immagini non utilizzate durante l'eliminazione in blocco dei prodotti WooCommerce:

  • Passaggio 1: crea un tema figlio
  • Passaggio 2: implementa il codice all'interno del tema del tuo bambino
  • Passaggio 3: controlla il risultato per il tuo negozio online

Passaggio 1: crea un tema figlio

Innanzitutto, crea un tema figlio. È necessario modificare questo tema figlio poiché questo miglioramento è correlato al tema.

Crea una cartella per il tema figlio

Puoi seguire questa guida per creare facilmente un tema figlio. Oppure usa qualsiasi plugin di WordPress per creare un tema figlio.

Passaggio 2: implementa il codice all'interno del tema del tuo bambino

Quindi, apri il tuo bambino-theme functions.php e incolla il codice seguente-

 // 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 ); } } }

Passaggio 3: controlla il risultato per il tuo negozio online

Dopo aver inserito il codice salva il functions.php. Ora vai al tuo negozio WooCommerce ed elimina un prodotto. Eliminerà anche le immagini associate.

eliminare le immagini

Come rimuovere le immagini dei prodotti WooCommerce in Dokan Marketplace

Ora ti mostreremo come eliminare le immagini Woocommerce dopo aver eliminato i prodotti all'interno di un mercato. Ti aiuta a liberare spazio sul server e a ridurre l'ingombro della libreria multimediale.

In questo caso, incolla il frammento di codice seguente all'interno del file functions.php del tuo tema-

 <?php add_action( 'before_delete_post', function( $id ) { $product = wc_get_product( $id ); if ( ! $product ) { return; } $all_product_ids = []; $product_thum_id_holder = []; $gallery_image_id_holder = []; $thum_id = get_post_thumbnail_id( $product->get_id() ); if ( function_exists( 'dokan' ) ) { $vendor = dokan()->vendor->get( dokan_get_current_user_id() ); if ( ! $vendor instanceof WeDevs\Dokan\Vendor\Vendor || $vendor->get_id() === 0 ) { return; } $products = $vendor->get_products(); if ( empty( $products->posts ) ) { return; } foreach ( $products->posts as $post ) { array_push( $all_product_ids, $post->ID ); } } else { $args = [ 'posts_per_page' => '-1' ]; $products = wc_get_products( $args ); foreach ( $products as $product ) { array_push( $all_product_ids, $product->get_id() ); } } foreach ( $all_product_ids as $product_id ) { if ( intval( $product_id ) !== intval( $id ) ) { array_push( $product_thum_id_holder, get_post_thumbnail_id( $product_id ) ); $wc_product = wc_get_product( $product_id ); $gallery_image_ids = $wc_product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { continue; } foreach ( $gallery_image_ids as $gallery_image_id ) { array_push( $gallery_image_id_holder, $gallery_image_id ); } } } if ( ! in_array( $thum_id, $product_thum_id_holder ) && ! in_array( $thum_id, $gallery_image_id_holder ) ) { wp_delete_attachment( $thum_id, true ); if ( empty( $thum_id ) ) { return; } $gallery_image_ids = $product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { return; } foreach ( $gallery_image_ids as $gallery_image_id ) { wp_delete_attachment( $gallery_image_id, true ); } } } );

Ora, ogni volta che un fornitore elimina un prodotto dal mercato, le immagini del prodotto associate scompariranno automaticamente dalla libreria multimediale.

Bonus: quando è necessario eliminare in blocco i prodotti WooCommerce

eliminare in blocco i prodotti WooCommerce

È una buona idea rimuovere le immagini inutilizzate dalla tua galleria multimediale. Queste immagini non aggiungono valore al tuo negozio. Piuttosto ostacola le prestazioni del tuo sito. Ma prima devi decidere quali prodotti rimuovere dal tuo negozio online.

Abbiamo evidenziato il tipo di prodotti che potresti dover eliminare in blocco-

  • Prodotti di stagione
  • Prodotti ciclici
  • Prodotti esauriti
  • Prodotti non venduti
  • Testare i prodotti

Prodotti stagionali: alcuni prodotti potrebbero perdere la loro domanda dopo un periodo di tempo specifico. Puoi aggiungere nuovi prodotti invernali, ad esempio, nel tuo negozio per il periodo più freddo dell'anno. Ma dopo l'arrivo della primavera, la domanda di tali prodotti sarebbe diminuita e presto sarebbero stati del tutto fuori moda. E devi eliminare in blocco i prodotti WooCommerce dal tuo negozio.

Prodotti ciclici: l'inventario deve essere rifornito con nuovi prodotti a intervalli regolari. Ad esempio, dopo un festival speciale, devi rimuovere i vecchi prodotti dal negozio e caricarne di nuovi.

Prodotti esauriti : prodotti che non sono disponibili in magazzino e meno possibilità di rifornire nuovamente, sarebbe meglio sbarazzarsi di quei prodotti.

Prodotti non venduti: se disponi di prodotti nel tuo magazzino che non sono comunemente venduti, dovresti eliminare quei prodotti dal tuo negozio. Perché questi prodotti non faranno altro che aumentare la tua responsabilità e sprecare il tuo spazio.

Prodotti di prova: molte volte prima di lanciare il prodotto originale è necessario introdurre molti prodotti di prova per vedere se funziona bene. Una volta avviato il prodotto principale, è meglio eliminare i prodotti di prova.

Risorsa correlata: tipi di prodotti che puoi creare utilizzando WooCommerce!

A voi

Potrebbero esserci diverse situazioni in cui è necessario eliminare in blocco i prodotti WooCommerce. E non sarebbe difficile come utente di WordPress. Ma si incontrano difficoltà quando, dopo aver eliminato un prodotto, le relative immagini del prodotto rimangono ancora nella libreria multimediale.

La guida sopra ti aiuta a includere un processo automatico per eliminare le immagini quando elimini un prodotto in WooCommerce.

Hai ancora domande su come eliminare in blocco i prodotti WooCommerce e le immagini dei prodotti con gli action hook? Fateci sapere nei commenti!

Iscriviti al blog weDevs

Inviamo newsletter settimanali, senza spam di sicuro