Selbst wenn WooCommerce ist eine sehr robuste Einkaufsplattform, die sich in den letzten Jahren stark weiterentwickelt hat, es fehlen jedoch immer noch viele Optionen. Eine davon ist die Möglichkeit, die Produktbilder automatisch zu löschen WooCommerce wenn ein Produkt gelöscht wird.
Genauer gesagt, wenn wir ein Produkt löschen WooCommerce, die damit verbundenen Bilder verbleiben auf dem Server. Ein Online-Shop mit Tausenden von Produkten wird eine beträchtliche Anzahl an Bildern sammeln. Wenn diese Bilder nicht zusammen mit den Produkten gelöscht werden, belegen sie mit der Zeit erheblichen Speicherplatz.
Wenn drin WooCommerce ein neues Produkt hinzugefügt wird, wird zumindest das Präsentationsbild mindestens drei- bis viermal in unterschiedlichen Größen vervielfältigt. Dort sind einige themes von Woo, der bis zu 10 Kopien des Originalbildes für verschiedene Layouts erstellen kann.
Die beste Lösung zur Optimierung des Speicherplatzes der Produktbilder auf dem Webhosting-Server besteht darin, sie zusammen mit den aus dem Online-Shop entfernten Produkten zu löschen.
So löschen Sie Produktbilder automatisch in WooCommerce wenn Sie Produkte löschen
Ich habe einen Online-Shop, der Flachs hat media library 23.567 Bilder, die meisten Produkte WooCommerce. Wenn ich die nicht mehr vorrätigen Produkte löschen würde, würden die Bilder in der Mediathek (auf dem Server) verbleiben.
Zum automatischen Löschen der Produktbilder in WooCommerceZusammen mit den Produkten müssen Sie lediglich den folgenden Code zur Datei „functions.php“ des aktiven Themes hinzufügen:
*Es wird dringend empfohlen, vorher eine Sicherungskopie des Ordners zu erstellen 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 );
}
}
}
Es ist gut zu wissen, dass nach dem Speichern des obigen Codes in functions.php
, Produktbilder werden automatisch gelöscht, zusammen mit dem Produkt. Wenn die Produkte auch aus "Trash".
Zusammen mit den aus dem Online-Shop entfernten Produkten 3336 Bilder wurden ebenfalls gelöscht damit verbundenen. Eine ziemlich wichtige Nummer, die unnötig Platz auf dem Webhosting-Server belegt hätte.
- So passen Sie die Seite „Es wurden keine Produkte gefunden, die Ihrer Auswahl entsprechen“ an WooCommerce - Optimierung der Verkäufe in Online-Shops
- Wie man riesige wp_ reinigtoptions in SQL - Transienten, wpseo_sitemap _cache_validator
- So löschen Sie schnell alle Bestellungen (Bestellungen) aus WooCommerce [SQL-Tipps]
- FIX RIESIGE SQL-Tabellen: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tipps]
- So deaktivieren Sie die Standardeinstellung “Ship to different address” von der Checkout-Seite a Woocommerce
Verwenden Sie diese Option nicht, wenn Sie dieselben Bilder für mehrere Produkte verwenden. Sie werden automatisch gelöscht, wenn ein Produkt entfernt wird, in dem sie vorhanden sind.
Das hat geholfen, danke!
Grazie Mille, du hast ein großes Problem für mich gelöst.
Genau was ich gesucht bzw. brauche 👍
Das PlugIn, das ich bisher genutzt habe, funktionierte nicht so umständlich wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit