Como excluir o produto WooCommerce dos cupons

Publicados: 2021-11-02

Você está procurando maneiras de usar seus códigos de desconto com mais eficiência? Temos algo para você. Neste guia, mostraremos diferentes maneiras de excluir um produto WooCommerce dos cupons para que os descontos não se apliquem a eles.

Agora que a Black Friday e o Natal se aproximam, muitas lojas online começam a oferecer ofertas e promoções. Ao configurar seus cupons de desconto e compartilhá-los online, você quer ter certeza de que eles não criam quedas significativas em seus lucros. Se suas vendas aumentam 25%, mas o lucro por venda diminui 50%, é melhor não oferecer nenhum desconto.

Encontrar o equilíbrio certo entre mais vendas e lucros por venda nem sempre é fácil. Uma das melhores maneiras de fazer isso é manter certos produtos sem descontos. Você pode usar certos itens com desconto, como ganchos, e tentar vender seus clientes com outros produtos que não têm descontos.

Neste guia, mostraremos diferentes maneiras de excluir produtos WooCommerce dos cupons , para que os descontos não se apliquem a eles.

Por que excluir produtos dos cupons?

Usar cupons de desconto é uma estratégia de marketing comum usada por muitas lojas WooCommerce para aumentar suas vendas. Se usados ​​de forma inteligente, os descontos podem ser benéficos para negócios online. No entanto, eles também podem gerar uma queda na receita se não forem aplicados corretamente e o aumento nas vendas não for pelo menos igual à queda de preço.

Além disso, com catálogos maiores, há também a possibilidade de brechas que seus clientes podem aproveitar. Por exemplo, talvez você não queira aplicar um desconto a um produto em pacote que já tenha um desconto aplicado a ele. Da mesma forma, você pode acabar perdendo dinheiro se os clientes usarem um desconto em produtos que já têm margens pequenas.

É por isso que é uma boa opção excluir certos produtos WooCommerce dos cupons de desconto. Dessa forma, você pode criar quantos cupons e códigos de desconto quiser, garantindo que esses produtos específicos não sejam afetados por eles.

Vamos dar uma olhada em como você pode fazer isso e que tipo de ferramentas você pode usar para excluir produtos de descontos.

Como excluir um produto WooCommerce de cupons

Existem duas maneiras principais de excluir produtos WooCommerce de cupons de desconto:

  1. Com as opções padrão do WooCommerce
  2. Programaticamente

Vamos verificar cada opção com mais detalhes.

1) Exclua o produto WooCommerce dos cupons usando as opções padrão do WooCommerce

O WooCommerce oferece a opção de desativar cupons específicos para determinados produtos e categorias. Para acessar essas opções, acesse WooCommerce > Cupons em seu painel de administração do WordPress.

Em seguida, abra qualquer um dos cupons que deseja excluir clicando em Editar abaixo do cupom. Em seguida, role para baixo e vá para a guia Restrição de uso .

excluir o produto woocommerce dos cupons - guia de cupons

Aqui você pode usar as opções Excluir produto e Excluir categorias para excluir determinados produtos deste cupom específico. Basta digitar o nome do produto no campo Excluir produto ou a categoria do produto no campo Excluir categorias . Por exemplo, se você não quiser aplicar descontos ao Produto 15 e aos Pacotes de Produtos, faça algo assim.

excluir o produto woocommerce dos cupons - restrições de cupom

Agora, esse cupom específico não se aplica a esses produtos . No entanto, observe que todos os outros cupons que se aplicam a esse item funcionarão, a menos que você repita esse processo no outro cupom.

excluir produto woocommerce de cupons - produto excluído

Se você tiver muitos cupons, esse processo pode ser demorado, pois você teria que ir um por um e adicionar os produtos que deseja excluir. A boa notícia é que existe uma maneira mais eficiente de fazer isso com um pouco de código. Vamos ver como você pode excluir os produtos WooCommerce de todos os cupons programaticamente.

2) Exclua o produto WooCommerce dos cupons programaticamente

Você também pode excluir um produto WooCommerce de cupons de desconto programaticamente. A vantagem desse método é que ele oferece muita flexibilidade para garantir que os descontos não se apliquem a determinados itens. Por exemplo, você pode desativar IDs de produtos específicos para cupons ou adicionar uma caixa de seleção às opções de dados do produto WooCommerce.

Vejamos como você pode habilitar algumas dessas opções.

NOTA : Como editaremos alguns arquivos principais, antes de começarmos, recomendamos que você crie um backup do seu site e instale um tema filho, caso ainda não tenha um.

2.1) Excluir produtos WooCommerce de cupons usando o ID do produto

Uma das maneiras mais fáceis de excluir produtos WooCommerce dos cupons é simplesmente adicionar um snippet de código que desativa os cupons de funcionar para um ID de produto específico .

Para fazer isso, você precisa encontrar o ID do produto primeiro. Para isso, abra seu painel de administração do WordPress , vá em Produtos e você verá a lista de todos os seus produtos WooCommerce. Passe o mouse sobre o produto ao qual você não deseja aplicar os descontos e você verá o ID do produto.

excluir produto woocommerce de cupons - ID do produto

Anote-o e deixe-o em algum lugar à mão, pois você precisará dele para a próxima etapa.

Depois disso, abra o arquivo de funções do tema indo para Appearance > Theme Editor . Em seguida, use a barra lateral direita de Arquivos de Tema e abra o arquivo functions.php .

excluir produtos woocommerce de cupons - funções do editor de temas

Adicione o snippet de código a seguir ao arquivo, mas lembre-se de substituir o PRODUCT_ID pelo ID correspondente do produto que você deseja excluir.

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $válido, $produto, $cupom, $valores) {
// SUBSTITUA O ID DO PRODUTO (EG 145)
if ( PRODUCT_ID == $product->get_id() ) {
$válido = falso;
}
retorno $válido;
}

O código exclui dos descontos os IDs de produtos que especificamos. Por exemplo, no nosso caso, o ID do produto é 145, então o snippet de código será:

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $válido, $produto, $cupom, $valores) {
// ID DO PRODUTO = 145
if ( 145 == $produto->get_id() ) {
$válido = falso;
}
retorno $válido;
} 

É isso! O produto que você especificou será excluído de todos os seus cupons. Para mais informações sobre isso, confira este site.

2.2) Excluir produtos WooCommerce em promoção dos cupons de desconto

Outra opção interessante é excluir dos códigos de cupom os produtos que já possuem desconto aplicado. Por exemplo, se você tem produtos que já estão em promoção, pode adicionar um script para garantir que eles não recebam um desconto extra. Isso é muito útil quando você tem uma promoção de vendas em andamento em sua loja e deseja garantir que seus descontos não sejam aplicados a nenhum dos produtos que estão em promoção.

O processo para isso é semelhante ao anterior. Simplesmente vá para Aparência > Editor de Temas no seu painel de administração e abra o arquivo functions.php na barra lateral direita dos arquivos de tema. Em seguida, cole o script a seguir para excluir dos descontos todos os produtos que já estão em promoção.

 add_filter('xa_pbu_skip_product_on_sale','ql_skip_product_on_sale_from_discount',1,2);
function ql_skip_product_on_sale_from_discount($return_val,$pid) { 
$sale_price = get_post_meta( $pid,'_sale_price',true ); 
if( !empty($sale_price) ) {
retorne verdadeiro; // exclui este produto se verdadeiro
}
return $retorno_val;
} 

excluir o produto woocommerce dos cupons - produto excluído nas vendas

Como alternativa, você pode usar o código a seguir para excluir determinados produtos que já estão à venda dos cupons. Basta substituir o ID do produto pelo seu ID.

 add_filter('xa_pbu_skip_product','ql_skip_product_from_discount',1,2);
function ql_skip_product_from_discount($return_val,$pid) {
$pid_to_skip = array(ID DO PRODUTO); // IDs de produtos a serem excluídos
if(in_array($pid,$pid_to_skip)) {
retorne verdadeiro; // exclui este produto se verdadeiro
}
return $retorno_val;
}

Se você quiser adicionar vários produtos, basta adicionar quantos quiser e separá-los com uma vírgula. Você pode encontrar mais informações sobre isso aqui.

Adicionando uma opção para excluir um produto WooCommerce de cupons programaticamente

Se você acha que isso é algo que você pode fazer com frequência, fazer o processo acima todas as vezes pode não ser a coisa mais confortável. Nesse caso, há uma opção mais eficiente. Você pode adicionar uma função personalizada que adiciona uma caixa de seleção ao back-end e permite desativar os cupons individualmente para cada produto.

Você pode simplesmente adicionar este snippet a todos os seus itens e depois decidir quais produtos WooCommerce você deseja excluir dos cupons e quando. Esta é uma opção interessante porque permite que você torne essa opção dinâmica marcando ou desmarcando essa caixa de seleção ao invés de ter que adicionar e remover o script do arquivo functions.php .

Para fazer isso, no seu painel de administração vá para Aparência > Editor de Temas e abra o arquivo functions.php na barra lateral Arquivos de Tema .

excluir produtos woocommerce de cupons - funções do editor de temas

Agora vá em frente e cole este código no editor:

 // Cria um campo personalizado na guia de configuração geral do produto
add_action( 'woocommerce_product_options_general_product_data', 'ql_add_custom_field_general_product_fields');
function ql_add_custom_field_general_product_fields(){
global $post;

echo '<div class="product_custom_field">';

// Campo de caixa de seleção de produto personalizado
woocommerce_wp_checkbox( array(
'id' => '_disabled_for_coupons',
'label' => __('Desativado para cupons', 'woocommerce'),
'description' => __('Desabilitar este produto dos descontos de cupom', 'woocommerce'),
'desc_tip' => 'true',
));

echo '</div>';;
}

// Salve o campo personalizado e atualize todos os IDs de produtos excluídos nas configurações do WP
add_action( 'woocommerce_process_product_meta', 'ql_save_custom_field_general_product_fields', 10, 1 );
function ql_save_custom_field_general_product_fields( $post_id ){

$current_disabled = isset($_POST['_disabled_for_coupons']) ? 'sim não';

$disabled_products = get_option('_products_disabled_for_coupons');
if( vazio($disabled_products) ) {
if( $current_disabled == 'sim')
$disabled_products = array( $post_id);
} senão {
if( $current_disabled == 'sim') {
$disabled_products[] = $post_id;
$disabled_products = array_unique( $disabled_products);
} senão {
if (( $key = array_search( $post_id, $disabled_products)) !== false)
unset( $disabled_products[$key]);
}
}

update_post_meta( $post_id, '_disabled_for_coupons', $current_disabled);
update_option( '_products_disabled_for_coupons', $disabled_products );
}

// Torna os cupons inválidos no nível do produto
add_filter('woocommerce_coupon_is_valid_for_product', 'set_coupon_validity_for_excluded_products', 12, 4);
function set_coupon_validity_for_excluded_products($valid, $product, $coupon, $values){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $valid;

$disabled_products = get_option('_products_disabled_for_coupons');
if(in_array($product->get_id(), $disabled_products))
$válido = falso;

retorno $válido;
}

// Define o valor do desconto do produto para zero
add_filter( 'woocommerce_coupon_get_discount_amount', 'zero_discount_for_excluded_products', 12, 5 );
function zero_discount_for_excluded_products($desconto, $desconto_quantia, $cart_item, $único, $cupom ){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $desconto;

$disabled_products = get_option('_products_disabled_for_coupons');
if(in_array($cart_item['product_id'], $disabled_products))
$desconto = 0;

devolver $desconto;
} 

excluir o produto woocommerce dos cupons - pilha de produtos excluídos

Depois disso, atualize o arquivo. Agora vamos ver como usar essa caixa de seleção personalizada que você acabou de adicionar.

Usando a função e a opção Desativar cupons

Vá para a seção Produtos e abra qualquer produto que você gostaria de excluir dos cupons. Na guia Geral dos dados do produto , você deve ver agora uma nova opção chamada Desativado para cupons.

Ativar esta opção excluirá este produto WooCommerce dos cupons de desconto. Se você desmarcá-lo, os descontos serão aplicados a este item novamente. Lembre-se de salvar as alterações e verificar o front-end para garantir que tudo funcione conforme o esperado.

Conclusão

Em suma, excluir determinados itens dos descontos é uma boa alternativa para maximizar a receita, mesmo quando você oferece promoções. Você pode querer aplicar descontos a determinados produtos, mas não a outros, porque suas margens já são bastante pequenas ou já têm um desconto aplicado, por exemplo.

Neste guia, vimos diferentes maneiras de pular e excluir um produto WooCommerce dos cupons:

  • Usando as opções padrão do WooCommerce
  • Excluindo programaticamente produtos individuais, todos os produtos ou apenas itens à venda usando os IDs do produto
  • Adicionando um script personalizado para incluir uma opção no back-end para desativar cupons para produtos específicos

Se você tiver alguma dúvida sobre qualquer uma dessas etapas, informe-nos na seção de comentários abaixo e faremos o possível para ajudá-lo.

Por fim, se você estiver procurando maneiras adicionais de configurar descontos e as melhores maneiras de usá-los, recomendamos que consulte os seguintes guias:

  • Como aplicar cupons WooCommerce automaticamente
  • Como criar e configurar cupons WooCommerce
  • Crie e aplique cupons WooCommerce: o guia completo