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

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

Přesněji, když odstraníme produkt z WooCommerce, obrázky s ním spojené zůstávají 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, časem to zabere 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ů v 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ů v 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".

Jak automaticky odstranit obrázky produktů v WooCommerce, spolu s produktem
Vymazat WooCommerce Obrázek produktu

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.

Věnovaný technologiím, s radostí píši na StealthSettings.com od roku 2006. Mám bohaté zkušenosti s operačními systémy: macOS, Windows a Linux, stejně jako s programovacími jazyky a platformami pro blogování (WordPress) a pro online obchody (WooCommerce, Magento, PrestaShop).

jak na to » WordPress » Jak automaticky odstranit obrázky produktů v WooCommerce, spolu s produktem

3 myšlenky na „Jak automaticky mazat obrázky produktů v WooCommercespolu s produktem"

  1. Genau byl ich gesucht bzw. potřeba habe 👍

    Das PlugIn das ich bisher genutzt habe, funktionierte nict tak versältigte wie dieses Snippet

    Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit

    odpověď
Zanechat komentář