Hur tar du bort produktbilder automatiskt i WooCommerce, med produkten
Även om WooCommerce är en mycket robust shoppingplattform som har utvecklats mycket de senaste åren, saknas det fortfarande många alternativ. En av dessa är möjligheten att automatiskt radera produktbilderna i WooCommerce när en produkt raderas.
Närmare bestämt, när vi tar bort en produkt från WooCommerce förblir bilderna associerade med den på servern. En webbutik med tusentals produkter kommer att samla ett betydande antal bilder. Om dessa bilder inte raderas tillsammans med produkterna kommer det med tiden att ta upp en betydande mängd lagringsutrymme.
När du är inne Woocommerce en ny produkt läggs till, åtminstone kommer presentationsbilden att dupliceras minst tre gånger – fyra gånger, i olika storlekar. Det finns några themes av Woo som kan göra upp till 10 kopior av originalbilden, för olika layouter.
Den bästa lösningen för att optimera utrymmet som upptas av produktbilderna på webbhotellservern är att de raderas tillsammans med produkterna som tas bort från webbutiken.
Hur man automatiskt tar bort produktbilder i WooCommerce när man tar bort produkter
Jag har en webbutik som har lin media library 23 567 bilder, de flesta WooCommerce-produkter. Om jag skulle ta bort de produkter som inte längre finns i lager så ligger bilderna kvar i mediabiblioteket (på servern).

För att automatiskt radera produktbilderna i WooCommerce, tillsammans med produkterna, behöver du bara lägga till följande kod i functions.php-filen för det aktiva temat:
*Det rekommenderas starkt att göra en säkerhetskopia av mappen först 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 );
}
}
}
Det är bra att veta att efter att ha sparat ovanstående kod i functions.php, produktbilder kommer att raderas automatiskt, tillsammans med produkten. När produkterna raderas och från “Trash“.

Tillsammans med produkterna borttagna från webbutiken 3336 bilder raderades också associerad. Ett ganska viktigt antal, som skulle ha tagit onödigt utrymme på webbhotellservern.
- Så här anpassar du sidan "Inga produkter hittades som matchar ditt val" i WooCommerce - Optimera försäljningen i onlinebutiker
- Hur man rengör enorma wp_options i SQL - Transienter, wpseo_sitemap _cache_validator
- Hur man snabbt tar bort alla kommandon (beställningar) i WooCommerce [SQL Tips]
- Fixa enorma SQL -tabeller: WP_ACTIONSCHEDULER_ACTIONS & wp_actionscheduler_logs [WooCommerce-tips]
- Cum debifam implicit "fartyg till olika adress" din pagina de checkout a wooocommerce
Använd inte det här alternativet om du använder samma bilder för flera produkter. De kommer att raderas automatiskt om en produkt som de finns i tas bort.
Hur tar du bort produktbilder automatiskt i WooCommerce, med produkten
Vad är nytt
Om Stomma
Passionerad av teknik, skriver jag gärna på StealthSettings.com sedan 2006. Jag har omfattande erfarenhet av operativsystem: macOS, Windows och Linux, samt av programmeringsspråk och bloggplattformar (WordPress) och för webbutiker (WooCommerce, Magento, PrestaShop).
Visa alla inlägg av StealthDu kanske också är intresserad av...
3 tankar om “Hur tar du bort produktbilder automatiskt i WooCommerce, med produkten”
Detta hjälpte, tack!
Tack så mycket, du löste ett stort problem för mig.
Precis vad jag letade efter eller behövde 👍
Insticksprogrammet jag använde tidigare fungerade inte lika tillförlitligt som det här utdraget
Tack så mycket, det sparar mig mycket arbete och mycket tid