WooCommerce Hacks

por

3

Como você exclui automaticamente as imagens do produto no WooCommerce, com o produto

Como você exclui automaticamente as imagens do produto no WooCommerce, com o produto

3
WooCommerce Hacks

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

Mais precisamente, quando eliminamos um produto do WooCommerce, as imagens a ele associadas 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 for adicionado, pelo menos a imagem de apresentação será duplicada pelo menos três vezes – quatro vezes, em tamanhos diferentes. Existem alguns themes by Woo que pode fazer até 10 cópias da imagem original, para diferentes layouts.

A melhor solução para otimizar o espaço ocupado pelas imagens dos produtos no servidor de hospedagem é excluí-las junto com os produtos retirados da loja online.

Como excluir automaticamente imagens de produtos no WooCommerce ao excluir produtos

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

Imagens de produtos na biblioteca de mídia
Imagens de produtos na biblioteca de mídia

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

*É altamente recomendável fazer primeiro um backup da pasta 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 depois de salvar o código acima em functions.php, imagens de produtos serão excluídas automaticamente, junto com o produto. Quando os produtos são excluídos e de “Trash“.

Como você exclui automaticamente as imagens do produto no WooCommerce, com o produto
Excluir imagem do produto WooCommerce

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

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

Como você exclui automaticamente as imagens do produto no WooCommerce, com o produto

Você também pode estar interessado em...

3 pensamentos sobre “Como você exclui automaticamente as imagens do produto no WooCommerce, com o produto

  1. Lírio diz:

    Isso ajudou, obrigado!

  2. Robin diz:

    Muito obrigado, você resolveu um grande problema para mim.

  3. MegaShopXL.de diz:

    Exatamente o que eu procurava ou precisava 👍

    O plugin que usei anteriormente não funcionou de forma tão confiável quanto este trecho

    Muito obrigado, isso me poupa muito trabalho e muito tempo

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos necessários estão marcados *