Jak automaticky odstranit obrázky produktů ve WooCommerce spolu s produktem

I když je WooCommerce velmi robustní nákupní platforma, která se v posledních letech hodně rozvinula, stále zde chybí mnoho možností. Jednou z nich je možnost automaticky odstranit obrázky produktů ve WooCommerce, když je produkt smazán.

Přesněji řečeno, když odstraníme produkt z WooCommerce, obrázky s ním spojené zůstanou na serveru. Internetový obchod s tisíci produkty shromáždí značné množství obrázků. Pokud tyto obrázky nejsou smazány společně s produkty, pak časem zaberou značné množství úložného prostoru.

Když v WooCommerce je přidán nový produkt, minimálně prezentační obrázek bude duplikován minimálně třikrát až čtyřikrát, v různých velikostech. Tam jsou nějací themes od Woo, který dokáže vytvořit až 10 kopií původního obrázku pro různá rozvržení.

Nejlepším řešením pro optimalizaci místa, které zabírají obrázky produktů na webhostingovém serveru, je jejich smazání spolu s produkty odstraněnými z internetového obchodu.

Jak automaticky odstranit obrázky produktů ve WooCommerce, když smažete produkty

Mám internetový obchod, který má len media library 23.567 XNUMX snímků, většina produktů WooCommerce. Pokud bych smazal produkty, které již nejsou na skladě, obrázky by zůstaly v knihovně médií (na serveru).

Obrázky produktů v knihovně médií
Obrázky produktů v knihovně médií

Chcete-li automaticky odstranit obrázky produktů ve WooCommerce spolu s produkty, stačí přidat následující kód do souboru functions.php aktivního motivu:

*Důrazně se doporučuje nejprve vytvořit zálohu složky 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 );
        }
    }
}

Je dobré vědět, že po uložení výše uvedeného kódu do functions.php, obrázky produktů budou automaticky smazány, spolu s produktem. Když jsou produkty smazány také z "Trash".

Smazat obrázek produktu WooCommerce

Spolu s produkty odstraněnými z internetového obchodu Bylo také smazáno 3336 snímků spojené. Poměrně důležité číslo, které by zabíralo zbytečné místo na webhostingovém serveru.

Tuto možnost nepoužívejte, pokud používáte stejné obrázky pro několik produktů. Budou automaticky odstraněny, pokud bude odstraněn produkt, ve kterém jsou přítomny.

Stealth: Vášnivý k technologii, rád testuji a píšu výukové programy o operačních systémech macOS, Linux, Windows, o WordPress, WooCommerce a konfigurace webových serverů LEMP (Linux, NGINX, MySQL a PHP). píšu dál StealthSettings.com od roku 2006 ao několik let později jsem začal psát na iHowTo.Tips výukové programy a novinky o zařízeních v ekosystému Apple: iPhoneiPad Apple Hodinky, HomePod, iMac, MacBook, AirPods a příslušenství.
Nový V