So entfernen Sie ungenutzte WooCommerce-Bilder von Ihrem Dokan-Marktplatz
Veröffentlicht: 2022-04-06Suchen Sie nach Lösungen zum Entfernen von Bildern beim Massenlöschen von WooCommerce-Produkten?
Wenn Sie ein Online-Geschäft betreiben, müssen Sie wachsam sein. Sie sollten sich über trendige Mode, neue Trends und die veralteten Produkte Ihres Geschäfts im Klaren sein. Sie können Ihre Website mit den neuesten Produkten aktualisieren, die mit größerer Wahrscheinlichkeit verkauft werden.
Um Ihren Shop auf dem neuesten Stand zu halten, müssen Sie manchmal einige Produkte löschen, die lange Zeit nicht verkauft wurden, oder Produkte, die außerhalb der Saison sind. Für einen WooCommerce-Shop können Sie dies ganz einfach mit der Standard-WooCommerce-Einstellung oder mit einem SQL-Befehl tun.
Das Problem ist jedoch, dass WordPress Medien beim Löschen eines Beitrags nicht löscht. Dies kann ein großes Problem für eine E-Commerce-Website oder einen Marktplatz mit Tausenden von hochwertigen Bildern sein.
Im folgenden Blog erfahren Sie, wie Sie WooCommerce-Bilder aus der Galerie entfernen, wenn Sie ein Produkt sowohl für einen einzelnen Shop als auch für einen Marktplatz mit mehreren Anbietern löschen.
Warum Sie WooCommerce-Produktbilder entfernen sollten, nachdem Sie dieses Produkt gelöscht haben
Sie müssen viele Produkte mit Tausenden verwandter Bilder für Ihren E-Commerce-Shop hochladen. Und manchmal ist es auch ganz normal, einige Produkte aus bestimmten Gründen von Ihrer Website zu löschen. Wenn Sie nach dem Löschen eines Produkts Ihre Medienbibliothek überprüfen, finden Sie alle Bilder, die für Ihre gelöschten Produkte verwendet wurden.
Das bedeutet, dass das System nach dem Löschen eines Produkts in WooCommerce die meisten damit verbundenen Daten entfernt. Das Bild dieses Produkts bleibt jedoch in der Datenbank und im Medienordner. Es wird Ihre Website unnötig schwer machen.
Vorteile des Entfernens von Produktbildern nach dem Löschen dieses Produkts |
1. Verbessern Sie die Leistung der Website |
2. Erhöhen Sie die Speichergeschwindigkeit, indem Sie den Serverspeicher minimieren |
3. Halten Sie die Website schlank |
4. Schaffen Sie mehr Platz für weiteres Hochladen |
5. Optimieren Sie die Filialdatenbank |
Für Marktplatzbesitzer ist das Szenario etwas komplexer. Es ist äußerst schwierig, alle von verschiedenen Anbietern hochgeladenen Mediendateien zu überwachen. Da ein Anbieter möglicherweise jeden Tag eine ganze Reihe von Produkten hochlädt und auch viele der vorhandenen löscht. Ihre Produktbilder können wiederum Ihren Serverplatz reduzieren, was nicht gut für die Leistung Ihrer Website ist.
In diesem Fall wäre es vorteilhaft, alle vorgestellten Bilder und Galeriebilder zu löschen, wenn der Benutzer/Anbieter ein Produkt löscht.
Aber ein anderes Problem kann dort entstehen, wenn jemand dieselben Bilder in mehreren Beiträgen verwendet.
Nun, heute zeigen wir Ihnen Lösungen, um all diese Hindernisse zu bewältigen.
Wie lösche ich Woocommerce-Bilder nach dem Löschen eines Produkts?
Hier verwenden wir den Hook: before_delete_post
. Überprüfen Sie die Details zu diesem Haken hier.
Führen Sie die folgenden Schritte aus, um nicht verwendete Bilder während der Massenlöschung von WooCommerce-Produkten zu entfernen:
- Schritt 1: Erstellen Sie ein Child-Theme
- Schritt 2: Implementieren Sie den Code in Ihrem Child-Theme
- Schritt 3: Überprüfen Sie das Ergebnis für Ihren Online-Shop
Schritt 1: Erstellen Sie ein Child-Theme
Erstellen Sie zunächst ein untergeordnetes Thema. Sie müssen dieses untergeordnete Design ändern, da diese Erweiterung mit dem Design zusammenhängt.
Du kannst dieser Anleitung folgen, um ganz einfach ein Child-Theme zu erstellen. Oder verwenden Sie ein beliebiges WordPress-Plugin, um ein untergeordnetes Thema zu erstellen.
Schritt 2: Implementieren Sie den Code in Ihrem Child-Theme
Öffnen Sie als Nächstes Ihr Child-Theme functions.php und fügen Sie den folgenden Code ein:
// 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 ); } } }
Schritt 3: Überprüfen Sie das Ergebnis für Ihren Online-Shop
Nach dem Einfügen des Codes speichern Sie die functions.php. Gehen Sie nun zu Ihrem WooCommerce-Shop und löschen Sie ein Produkt. Die zugehörigen Bilder werden ebenfalls gelöscht.
So entfernen Sie WooCommerce-Produktbilder im Dokan Marketplace
Jetzt zeigen wir Ihnen, wie Sie Woocommerce-Bilder löschen, nachdem Sie Produkte auf einem Marktplatz gelöscht haben. Es hilft Ihnen, Serverplatz freizugeben und die Unordnung in der Medienbibliothek zu reduzieren.
Fügen Sie in diesem Fall das folgende Code-Snippet in die Datei functions.php Ihres Themes ein.
<?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 ); } } } );
Wenn nun ein Anbieter ein Produkt vom Marktplatz löscht, verschwinden die zugehörigen Produktbilder automatisch aus der Medienbibliothek.
Bonus: Wenn Sie WooCommerce-Produkte massenweise löschen müssen
Es empfiehlt sich, unbenutzte Bilder aus Ihrer Mediengalerie zu entfernen. Diese Bilder fügen Ihrem Geschäft keinen Wert hinzu. Vielmehr behindert es die Leistung Ihrer Website. Aber zuerst müssen Sie entscheiden, welche Produkte Sie aus Ihrem Online-Shop entfernen müssen.
Wir haben die Art der Produkte hervorgehoben, die Sie möglicherweise massenweise löschen müssen.
- Saisonale Produkte
- Zyklische Produkte
- Nicht vorrätige Produkte
- Nicht verkaufbare Produkte
- Produkte testen
Saisonale Produkte: Einige Produkte können nach einem bestimmten Zeitraum ihre Nachfrage verlieren. Sie können beispielsweise neue Winterprodukte in Ihrem Geschäft hinzufügen, die auf die kälteste Zeit des Jahres ausgerichtet sind. Aber nach der Ankunft des Frühlings würde die Nachfrage nach solchen Produkten sinken und sie würden bald völlig aus dem Trend sein. Und Sie müssen WooCommerce-Produkte massenhaft aus Ihrem Shop löschen.
Zyklische Produkte: Bestände müssen in regelmäßigen Abständen mit neuen Produkten aufgefüllt werden. Beispielsweise müssen Sie nach einem besonderen Fest die alten Produkte aus dem Shop entfernen und neue hochladen.
Ausverkaufte Produkte: Produkte, die nicht auf Lager sind und weniger Möglichkeiten zur Wiederauffüllung, es wäre besser, diese Produkte loszuwerden.
Nicht verkaufbare Produkte: Wenn Sie Produkte in Ihrem Lager haben, die nicht häufig verkauft werden, sollten Sie diese Produkte aus Ihrem Geschäft löschen. Denn diese Produkte erhöhen nur Ihre Haftung und verschwenden Platz.
Testprodukte: Viele Male müssen Sie viele Testprodukte vorstellen, bevor Sie das Originalprodukt auf den Markt bringen, um zu sehen, ob es gut funktioniert. Sobald Sie das Hauptprodukt gestartet haben, ist es besser, die Testprodukte zu löschen.
Zugehörige Ressource: Arten von Produkten, die Sie mit WooCommerce erstellen können!
Zu dir hinüber
Es kann mehrere Situationen geben, in denen Sie WooCommerce-Produkte massenweise löschen müssen. Und es wäre als WordPress-Benutzer nicht schwierig. Sie haben jedoch Schwierigkeiten, wenn nach dem Löschen eines Produkts die zugehörigen Produktbilder immer noch in der Mediathek verbleiben.
Die obige Anleitung hilft Ihnen, einen automatischen Prozess zum Löschen von Bildern einzubinden, wenn Sie ein Produkt in WooCommerce löschen.
Haben Sie noch Fragen zum Massenlöschen von WooCommerce-Produkten und Produktbildern mit Action Hooks? Lass es uns in den Kommentaren wissen!