Jak automatycznie usuwać zdjęcia produktów w WooCommerce wraz z produktem

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).

Obrazy produktów w Bibliotece multimediów
Obrazy produktów w Bibliotece multimediów

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".

Jak automatycznie usuwać zdjęcia produktów w WooCommerce wraz z produktem
Usuń obraz produktu WooCommerce

Łą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.

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.

jak » WordPress » Jak automatycznie usuwać zdjęcia produktów w WooCommerce wraz z produktem

Pasjonat technologii, lubię testować i pisać tutoriale o systemach operacyjnych macOS, Linux, Windows, o WordPress, WooCommerce i konfigurowanie serwerów WWW LEMP (Linux, NGINX, MySQL i PHP). piszę dalej StealthSettings.com od 2006 roku, a kilka lat później zacząłem pisać na iHowTo.Tips tutoriale i newsy o urządzeniach w ekosystemie Apple: iPhoneiPad, Apple Oglądaj, HomePod, iMac, MacBook, AirPods i akcesoria.

Zostaw komentarz