Como remover imagens WooCommerce não utilizadas do seu mercado Dokan

Publicados: 2022-04-06

Procurando soluções para remover imagens ao excluir produtos WooCommerce em massa?

Ao executar um negócio online, você deve estar vigilante. Você deve estar ciente de tudo, como tendências de moda, novas tendências e produtos desatualizados de sua loja. Você pode manter seu site atualizado com os produtos mais recentes com maior probabilidade de serem vendidos.

Para manter sua loja atualizada, às vezes você precisa excluir alguns produtos que não são vendidos há muito tempo ou produtos fora de temporada. Para uma loja WooCommerce, você pode fazer isso facilmente usando a configuração padrão do WooCommerce ou executando um comando SQL.

Mas o problema é que o WordPress não exclui a mídia ao excluir uma postagem. Isso pode ser um grande problema para um site de comércio eletrônico ou mercado com milhares de imagens de alta qualidade.

No blog a seguir, você aprenderá como remover imagens WooCommerce da galeria ao excluir um produto de uma única loja e de um marketplace de vários fornecedores.

Por que você deve remover as imagens do produto WooCommerce após excluir esse produto

Você precisa fazer upload de muitos produtos com milhares de imagens relacionadas para sua loja de comércio eletrônico. E às vezes também é muito normal excluir alguns produtos do seu site por alguns motivos. Depois de excluir um produto, se você verificar sua biblioteca de mídia, encontrará todas as imagens que foram usadas para seus produtos excluídos.

Isso significa que, após excluir um produto no WooCommerce, o sistema remove a maioria dos dados associados a ele. Mas a imagem desse produto permanecerá no banco de dados e na pasta de mídia. Isso tornará seu site desnecessariamente pesado.

Benefícios de remover imagens de produtos após excluir esse produto
1. Melhore o desempenho do site
2. Aumente a velocidade da loja minimizando o armazenamento do servidor
3. Mantenha o site leve
4. Crie mais espaço para upload adicional
5. Otimize o banco de dados da loja

Para os donos de marketplace, o cenário é um pouco mais complexo. É extremamente difícil monitorar todos os arquivos de mídia carregados por diferentes fornecedores. Uma vez que um fornecedor possivelmente carrega um bom número de produtos todos os dias e também exclui muitos dos existentes. Por sua vez, as imagens dos produtos podem reduzir o espaço do servidor, o que não é bom para o desempenho do site.

Nesse caso, seria benéfico excluir toda a imagem em destaque e a imagem da galeria se o usuário/fornecedor excluir algum produto.

Mas outro problema pode surgir se alguém usar as mesmas imagens em várias postagens.

Bem, hoje mostraremos soluções para lidar com todos esses obstáculos.

Como excluir imagens do Woocommerce após excluir um produto?

excluir produtos WooCommerce em massa

Aqui, vamos usar o gancho: before_delete_post . Confira os detalhes sobre este gancho aqui.

Siga as etapas abaixo para remover imagens não usadas durante a exclusão em massa de produtos WooCommerce:

  • Etapa 1: criar um tema filho
  • Passo 2: Implemente o código dentro do seu tema filho
  • Etapa 3: verifique o resultado da sua loja online

Etapa 1: criar um tema filho

Em primeiro lugar, crie um tema filho. Você precisa modificar esse tema filho, pois esse aprimoramento está relacionado ao tema.

Crie uma pasta para o tema filho

Você pode seguir este guia para criar um tema filho com facilidade. Ou use qualquer plugin do WordPress para criar um tema filho.

Passo 2: Implemente o código dentro do seu tema filho

Em seguida, abra o arquivo functions.php do seu tema filho e cole o código abaixo:

 // 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 ); } } }

Etapa 3: verifique o resultado da sua loja online

Após inserir o código salve o functions.php. Agora vá para sua loja WooCommerce e exclua um produto. Ele também excluirá as imagens associadas.

excluir imagens

Como remover imagens de produtos WooCommerce no Dokan Marketplace

Agora, mostraremos como excluir imagens do Woocommerce após excluir produtos dentro de um marketplace. Ele ajuda você a liberar espaço no servidor e reduzir a desordem da biblioteca de mídia.

Nesse caso, cole o trecho de código abaixo dentro do arquivo functions.php do seu tema-

 <?php add_action( 'before_delete_post', function( $id ) { $product = wc_get_product( $id ); if ( ! $product ) { return; } $all_product_ids = []; $product_thum_id_holder = []; $gallery_image_id_holder = []; $thum_id = get_post_thumbnail_id( $product->get_id() ); if ( function_exists( 'dokan' ) ) { $vendor = dokan()->vendor->get( dokan_get_current_user_id() ); if ( ! $vendor instanceof WeDevs\Dokan\Vendor\Vendor || $vendor->get_id() === 0 ) { return; } $products = $vendor->get_products(); if ( empty( $products->posts ) ) { return; } foreach ( $products->posts as $post ) { array_push( $all_product_ids, $post->ID ); } } else { $args = [ 'posts_per_page' => '-1' ]; $products = wc_get_products( $args ); foreach ( $products as $product ) { array_push( $all_product_ids, $product->get_id() ); } } foreach ( $all_product_ids as $product_id ) { if ( intval( $product_id ) !== intval( $id ) ) { array_push( $product_thum_id_holder, get_post_thumbnail_id( $product_id ) ); $wc_product = wc_get_product( $product_id ); $gallery_image_ids = $wc_product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { continue; } foreach ( $gallery_image_ids as $gallery_image_id ) { array_push( $gallery_image_id_holder, $gallery_image_id ); } } } if ( ! in_array( $thum_id, $product_thum_id_holder ) && ! in_array( $thum_id, $gallery_image_id_holder ) ) { wp_delete_attachment( $thum_id, true ); if ( empty( $thum_id ) ) { return; } $gallery_image_ids = $product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { return; } foreach ( $gallery_image_ids as $gallery_image_id ) { wp_delete_attachment( $gallery_image_id, true ); } } } );

Agora, sempre que qualquer fornecedor excluir um produto do mercado, as imagens do produto associado desaparecerão automaticamente da biblioteca de mídia.

Bônus: quando você precisa excluir produtos WooCommerce em massa

excluir produtos WooCommerce em massa

É uma boa ideia remover imagens não utilizadas da sua galeria de mídia. Essas imagens não agregam valor à sua loja. Em vez disso, dificulta o desempenho do seu site. Mas primeiro, você precisa decidir quais produtos você precisa remover de sua loja online.

Destacamos o tipo de produtos que você pode precisar excluir em massa

  • produtos sazonais
  • produtos cíclicos
  • produtos fora de estoque
  • Produtos não vendidos
  • produtos de teste

Produtos sazonais: Alguns produtos podem perder sua demanda após um período de tempo específico. Você pode adicionar novos produtos de inverno, por exemplo, em sua loja visando o período mais frio do ano. Mas após a chegada da primavera, a demanda por tais produtos cairia e logo estariam totalmente fora de moda. E você precisa excluir em massa os produtos WooCommerce da sua loja.

Produtos cíclicos: o estoque precisa ser reabastecido com novos produtos em intervalos regulares. Por exemplo, depois de um festival especial, você deve remover os produtos antigos da loja e fazer o upload de novos.

Produtos fora de estoque: Produtos que não estão disponíveis no estoque e menos possibilidade de reabastecer novamente, seria melhor se livrar desses produtos.

Produtos que não vendem: Se você possui produtos em estoque que não são comumente vendidos, exclua esses produtos de sua loja. Porque esses produtos só aumentarão sua responsabilidade e desperdiçarão seu espaço.

Produtos de teste: muitas vezes antes de lançar o produto original você tem que introduzir muitos produtos de teste para ver se funciona bem. Depois de iniciar o produto principal, é melhor excluir os produtos de teste.

Recurso relacionado: Tipos de produtos que você pode criar usando WooCommerce!

Para você

Pode haver várias situações em que você precisa excluir produtos WooCommerce em massa. E não seria difícil como usuário do WordPress. Mas você enfrenta dificuldades quando, após excluir um produto, as imagens do produto relacionado ainda permanecem na biblioteca de mídia.

O guia acima ajuda você a incluir um processo automático para excluir imagens ao excluir um produto no WooCommerce.

Você ainda tem dúvidas sobre como excluir em massa produtos WooCommerce e imagens de produtos com ganchos de ação? Deixe-nos saber nos comentários!

Inscreva-se no blog weDevs

Enviamos newsletter semanal, sem spam com certeza