Woocommerce-Bilder automatisch nach dem Löschen eines Produkts entfernen


Wenn du in deinem WooCommerce-Onlineshop ein Produkt löschst, verbleiben die dazugehörigen Produkt-Bilder in der Mediathek. Sie nehmen auf deinem Webserver unnötig Speichplatz in Anspruch und sie sorgen für mit der Zeit für Unübersichtlichkeit in deiner Medienbibliothek. Wenn du eine größere Anzahl an Produkten löschst, ist es zudem zeitaufwendig die Produktbilder manuell aus der Mediathek zu löschen.

Wie kann man WooCommerce-Produktbilder beim Löschen eines Produktes automatisch entfernen?

Damit produktbezogene WooCommerce-Bilder nach dem Löschen eines Produktes automatisch gelöscht werden, verwenden wir ein PHP-Code-Snippet. Setze das nachfolgende Snippet in deinem Theme in der functions.php am Ende der Datei ein.


VORSICHT: Wenn ein Bild mehr als einem Produkt zugeordnet ist, kann das andere Produkt nach dem Löschen des Bildes ebenfalls nicht mehr darauf zurückgreifen!


functions.php 
<?php
/** 
 * widilo® - WooCommerce-Produktbilder automatisch entfernen
 */ 
add_action( 'before_delete_post', 'widilo_delete_product_images', 10, 1 ); 
function widilo_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 );
        }
    }
}

Das war's auch schon! Happy Coding 🙂

Anrufen

+49 4762 3639555

Erreichbar von Mo - Fr

08:00 - 18:00

Nachricht senden

hallo@widilo.de

widilo®

Münnecke & Vollmers GbR

Zum Bahnhof 27

21698 Brest


widilo.de

muennecke-vollmers.de