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

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 atento. 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 que estão fora de época. 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 mídia ao excluir um post. 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 do WooCommerce da galeria ao excluir um produto para uma única loja e um mercado de vários fornecedores.

Por que você deve remover as imagens do produto WooCommerce depois de excluir esse produto

Você precisa carregar 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 uploads adicionais
5. Otimize o banco de dados da loja

Para os donos de marketplaces, o cenário é um pouco mais complexo. É muito 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, suas imagens de produtos podem reduzir o espaço do seu servidor, o que não é bom para o desempenho do seu site.

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

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

Bem, hoje mostraremos soluções para gerenciar 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.

Etapa 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 depois de excluir produtos dentro de um mercado. 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 de 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 da sua loja online.

Destacamos os tipos de produtos que você pode precisar excluir em massa-

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

Produtos sazonais: alguns produtos podem perder a demanda após um período 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 eles 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, após um festival especial, você deve remover os produtos antigos da loja e fazer 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ê tiver produtos em seu 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ê precisa 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 produtos WooCommerce e imagens de produtos em massa com ganchos de ação? Deixe-nos saber nos comentários!

Assine o blog weDevs

Enviamos newsletter semanal, sem spam com certeza