Como excluir automaticamente as imagens do produto em WooCommerce, juntamente com o produto

ainda que WooCommerce é uma plataforma de compras muito robusta que se desenvolveu muito nos últimos anos, ainda faltam muitas opções. Uma delas é a possibilidade de excluir automaticamente as imagens do produto WooCommerce quando um produto é excluído.

Mais precisamente, quando excluímos um produto do WooCommerce, as imagens associadas a ele permanecem no servidor. Uma loja online com milhares de produtos reunirá um número significativo de imagens. Se essas fotos não forem excluídas junto com os produtos, com o tempo elas ocuparão uma quantidade significativa de espaço de armazenamento.

Quando em WooCommerce um novo produto é adicionado, pelo menos a imagem de apresentação será duplicada pelo menos três - quatro vezes, em tamanhos diferentes. Há alguns themes by Woo que pode fazer até 10 cópias da imagem original, para diferentes layouts.

A melhor solução para optimizar o espaço ocupado pelas imagens dos produtos no servidor de alojamento web é que estas sejam eliminadas juntamente com os produtos retirados da loja online.

Como excluir automaticamente as imagens do produto em WooCommerce quando você exclui produtos

Eu tenho uma loja online que tem linho media library 23.567 imagens, a maioria dos produtos WooCommerce. Se eu excluísse os produtos que não estão mais em estoque, as imagens permaneceriam na biblioteca de mídia (no servidor).

Imagens do produto na biblioteca de mídia
Imagens do produto na biblioteca de mídia

Para excluir automaticamente as imagens do produto em WooCommerce, junto com os produtos, basta adicionar o seguinte código ao arquivo functions.php do tema ativo:

*É altamente recomendável fazer um backup da pasta com antecedência 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 );
        }
    }
}

É bom saber que após salvar o código acima em functions.php, as imagens do produto serão excluídas automaticamente, juntamente com o produto. Quando os produtos também são excluídos de "Trash".

Como excluir automaticamente as imagens do produto em WooCommerce, juntamente com o produto
Apagar WooCommerce Imagem do produto

Juntamente com os produtos retirados da loja online 3336 imagens também foram excluídas associado. Um número bastante importante, que ocuparia espaço desnecessário no servidor de hospedagem na web.

Não use esta opção se usar as mesmas imagens para vários produtos. Eles serão excluídos automaticamente se um produto no qual eles estão presentes for removido.

Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma ampla experiência em sistemas operacionais: macOS, Windows e Linux, assim como em linguagens de programação e plataformas de blogs (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).

Como » WordPress » Como excluir automaticamente as imagens do produto em WooCommerce, juntamente com o produto

3 pensamentos sobre "Como excluir automaticamente as imagens do produto em WooCommerce, juntamente com o produto"

  1. Genau foi ich gesucht bzw. preciso habe 👍

    Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte with this Snippet

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

    Resposta
Deixe um comentário