choćby WooCommerce to bardzo solidna platforma zakupowa, która bardzo się rozwinęła w ostatnich latach, wciąż brakuje wielu opcji. Jedną z nich jest możliwość automatycznego usuwania zdjęć produktów WooCommerce gdy produkt zostanie usunięty.
Dokładniej, kiedy usuwamy produkt z WooCommerce, powiązane z nim obrazy pozostają na serwerze. Sklep internetowy z tysiącami produktów zgromadzi pokaźną liczbę zdjęć. Jeśli te zdjęcia nie zostaną usunięte razem z produktami, z czasem zajmie to znaczną ilość miejsca.
Kiedy w WooCommerce zostanie dodany nowy produkt, przynajmniej obraz prezentacji zostanie zduplikowany co najmniej trzy - cztery razy, w różnych rozmiarach. Tam jest trochę themes autorstwa Woo, który może utworzyć do 10 kopii oryginalnego obrazu dla różnych układów.
Najlepszym sposobem na optymalizację miejsca zajmowanego przez zdjęcia produktów na serwerze hostingowym jest ich usunięcie razem z produktami usuwanymi ze sklepu internetowego.
Jak automatycznie usuwać zdjęcia produktów w WooCommerce kiedy usuniesz produkty
Mam sklep internetowy, który ma len media library 23.567 XNUMX obrazów, większość produktów WooCommerce. Gdybym miał usunąć produkty, których nie ma już w magazynie, obrazy pozostałyby w bibliotece multimediów (na serwerze).
Aby automatycznie usuwać obrazy produktów w WooCommerce, wraz z produktami, wystarczy dodać następujący kod do pliku functions.php aktywnego motywu:
*Zdecydowanie zaleca się najpierw wykonanie kopii zapasowej folderu 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 );
}
}
}
Warto wiedzieć, że po zapisaniu powyższego kodu w functions.php
, zdjęcia produktów zostaną automatycznie usuniętewraz z produktem. Gdy produkty są również usuwane z „Trash".
Łącznie z produktami usuniętymi ze sklepu internetowego Usunięto również 3336 obrazów powiązany. Dość ważny numer, który zajmowałby niepotrzebne miejsce na serwerze hostingowym.
- Jak dostosować stronę „Nie znaleziono produktów pasujących do Twojego wyboru” w WooCommerce - Optymalizacja sprzedaży w sklepach internetowych
- Jak wyczyścić ogromny wp_options w SQL - stany przejściowe, wpseo_sitemap _cache_validator
- Jak szybko usunąć wszystkie zamówienia (Zamówienia) z WooCommerce [Wskazówki SQL]
- NAPRAW OGROMNE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Porady]
- Jak odznaczyć domyślne? “Ship to different address” ze strony kasy a Woocommerce
Nie używaj tej opcji, jeśli używasz tych samych zdjęć dla kilku produktów. Zostaną one usunięte automatycznie, jeśli produkt, w którym się znajdują, zostanie usunięty.
To pomogło, dzięki!
Grazie Mille, rozwiązałeś dla mnie duży problem.
Genau był ich gesucht bzw. potrzebuje habe 👍
Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit