Você está visualizando atualmente WooCommerce: limitar as vendas de um produto por dia

WooCommerce: limitar as vendas de um produto por dia

  • Autor do post:
  • Categoria do post:Woocommerce
  • Tempo de leitura:3 minutos de leitura

Sim, “gerenciar estoque” é um bom recurso para garantir que você não exagere na venda de um determinado produto com base no estoque que possui em seu depósito. No entanto, e se você também precisar ter um “limite diário de vendas” – digamos que não possa vender mais de 3 de um determinado ID de produto em um determinado dia?

Esta é uma funcionalidade interessante que também é útil para você aprender como obter os pedidos de hoje, como percorrer os pedidos para encontrar um ID de produto específico e somar suas quantidades e, finalmente, como usar o filtro woocommerce_is_purchasable para definir se um produto pode ser comprado ou não (o que significa que o adicionar ao carrinho pode ou não aparecer). Aproveitar!

Meu objetivo é ocultar a adição ao carrinho e negar compras deste produto se hoje eu vendi mais de 3. Encontre o trecho WooCommerce abaixo!

PHP Snippet: Negar venda se um produto vendeu mais de X hoje

/** * @snippet Limit Daily Sales For Product ID * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 7 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( ‘woocommerce_is_purchasable’, ‘bbloomer_not_purchasable_after_daily_limit’, 9999, 2 ); function bbloomer_not_purchasable_after_daily_limit( $is_purchasable, $product ) { $limit_product_id = 12345; // DEFINA SEU ID DO PRODUTO AQUI if ( $product->get_id() !== $limit_product_id ) return $is_purchasable; // OBTER PEDIDOS DE HOJE E LOOP $all_orders = wc_get_orders( array( ‘limit’ => -1, ‘date_created’ => date( ‘Y-m-d’ ), ‘return’ => ‘ids’, ) ); $contagem = 0; foreach ($all_orders as $all_order) {$order = wc_get_order($all_order); $itens = $pedido->get_itens(); foreach ($itens as $item) { $product_id = $item->get_product_id(); if ( $product_id && $product_id == $limit_product_id ) { $count = $count + absint( $item[‘qty’] ); } } } // LIMITE DE 3 VENDAS DIÁRIAS if ( $count >= 3 ) return false; return $ é_comprável; }

Onde adicionar este trecho?

Você pode colocar snippets PHP na parte inferior do arquivo functions.php do seu tema filho (exclua “?>” se você o tiver lá). O CSS, por outro lado, vai para o arquivo style.css do seu tema filho. Certifique-se de saber o que está fazendo ao editar esses arquivos – se precisar de mais orientação, dê uma olhada no meu tutorial em vídeo gratuito “Onde colocar a personalização do WooCommerce?”

Esse trecho (ainda) funciona?

Por favor, deixe-me saber nos comentários se tudo funcionou como esperado. Ficarei feliz em revisar o snippet se você relatar o contrário (forneça capturas de tela). Eu testei este código com o tema Storefront, a versão WooCommerce listada acima e uma hospedagem compatível com WordPress em PHP 7.3.

Se você acha que este código economizou tempo e dinheiro, sinta-se à vontade para se juntar a mais de 14.000 assinantes do WooCommerce Weekly para atualizações de postagens de blog ou a mais de 250 apoiadores do Business Bloomer para 365 dias de benefícios do WooCommerce. Agradeço antecipadamente 🙂

Precisa de ajuda com o WooCommerce?

Confira estes tutoriais em vídeo gratuitos. Você pode aprender como personalizar o WooCommerce sem plug-ins desnecessários, como definir corretamente as configurações do plug-in WooCommerce e até mesmo como dominar a solução de problemas do WooCommerce em caso de bug!

Rodolfo Melogli

Fundador do Business Bloomer

Autor, especialista em WooCommerce e palestrante do WordCamp, Rodolfo trabalha como freelancer independente de WooCommerce desde 2011. Seu objetivo é ajudar empreendedores e desenvolvedores a superar seus pesadelos com WooCommerce. Rodolfo adora viajar, correr atrás de bolas de tênis e futebol e, claro, pizza de forno a lenha.

Siga @rmelogli

Pós-navegação

Fonte