Mimo że 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 w WooCommerce po usunięciu produktu.
Mówiąc 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ć obrazy produktów w WooCommerce po usunięciu produktów
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 usunąć 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 sklepie internetowym
- Jak wyczyścić ogromny wp_options w SQL - stany przejściowe, wpseo_sitemap _cache_validator
- Jak szybko usunąć wszystkie zamówienia WooCommerce [Wskazówki SQL]
- NAPRAW OGROMNE tabele SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]
- Jak odznaczyć „Wysyłaj do innego address ”ze strony kasy 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.