Como aplicar o cupom de desconto automaticamente no carrinho WooCommerce

Publicados: 2020-06-25

Os descontos são uma ótima maneira de aumentar as vendas e ajudam a construir um bom relacionamento com o cliente. É uma maneira de atrair seus clientes para voltar à sua loja e comprá-la novamente.

O WooCommerce também fornece um recurso para os proprietários de lojas adicionarem cupons de desconto para seus clientes. E eles usam diferentes maneiras de alcançar seus clientes para os cupons, como enviar e-mails, adicionar um banner em seu site e assim por diante. Mas às vezes é possível que os clientes esqueçam de aplicar o cupom durante o checkout.

Portanto, se, como proprietário de uma loja, você não deseja que seus clientes comprem produtos sem usar cupons de desconto, é necessário encontrar uma maneira de que os cupons sejam aplicados automaticamente ao carrinho quando os clientes compram. Isso pode ser feito fornecendo URLs de códigos de cupom aos clientes por meio de e-mails ou adicionando-os no site, que quando clicados, o cupom será aplicado automaticamente ao carrinho. Ou a maneira mais simples de conseguir isso é aplicar o código do cupom automaticamente quando um cliente adiciona um produto ao carrinho.

No WooCommerce agora não há opção de aplicar os cupons de desconto automaticamente , mas é possível conseguir isso adicionando um trecho de código ou usando algumas das extensões disponíveis.

Usando um trecho de código

Vamos dar um exemplo aqui, onde o dono da loja quer dar um desconto de 20% para os pedidos com valor superior a $ 250 por ocasião do Halloween ou Black Friday ou Natal e ele quer que nenhum de seus clientes perca o desconto. Então, para conseguir isso, existem 2 maneiras que discutiremos abaixo.

1. Aplicando o código do cupom diretamente no carrinho quando o produto é adicionado

Para isso, o primeiro passo é criar um código de cupom no WooCommerce com uma restrição de uso de gasto mínimo para $ 250 no menu Adicionar novo cupom / Editar cupom -> Restrições de uso.

Minimum Spend for Coupon
Gasto mínimo para cupom

O cupom é adicionado de acordo com os requisitos do proprietário, mas como a inserção do cupom ainda é um processo manual aqui, é altamente possível que o cliente esqueça de usar o código do cupom. Portanto, a melhor maneira de evitar isso é aplicar o código automaticamente ao carrinho. Isso pode ser feito adicionando o código abaixo ao arquivo functions.php do tema filho ou usando qualquer plugin de trechos de código.

 /**
 * Aplique cupom de desconto automaticamente no carrinho 
 */

function ts_apply_discount_to_cart() {
    
    $order_total = WC()->cart->get_subtotal();
  
    if( $order_total > 250 ) {
        $coupon_code = '20%OFF';
        if ( !WC()->cart->add_discount( sanitizar_text_field( $coupon_code ) ) ) {
            WC()->show_messages();
        }
    }
}
add_action( 'woocommerce_before_cart_table', 'ts_apply_discount_to_cart');

Aqui usamos o gancho woocommerce_before_cart_table que está no formulário do carrinho WooCommerce antes de exibir a tabela do carrinho. Neste gancho, estamos verificando o total do pedido e, se o total do pedido for $ 250 ou mais, estamos aplicando o cupom '20%OFF' ao carrinho usando a função add_discount().

Automatically apply coupon code on cart
Aplique automaticamente o código do cupom no carrinho

2. Usando URLs de código de cupom

Outra maneira de aplicar o código do cupom diretamente ao carrinho é fornecer os URLs do código do cupom aos clientes enviando e-mails, boletins informativos ou publicando-os no site em um banner. Assim, quando um cliente clicar na URL e se o produto já estiver adicionado ao carrinho, o código do cupom será aplicado automaticamente.

Para conseguir isso, você precisa adicionar o código abaixo no arquivo functions.php do seu tema filho.

 /**
 * Defina a variável de sessão no carregamento da página se a string de consulta tiver a variável cupom_code.
 */
function ts_get_custom_coupon_code_to_session() {

    if( isset( $_GET[ 'coupon_code' ] ) ) {
        // Certifique-se de que a sessão do cliente foi iniciada
        if( !WC()->sessão->has_session() )
            WC()->sessão->set_customer_session_cookie(true);
      
        // Verifica e registra o código do cupom em uma variável de sessão personalizada
        $coupon_code = WC()->session->get( 'coupon_code');
        if( vazio( $coupon_code ) && isset( $_GET[ 'coupon_code' ] ) ) {
            $coupon_code = esc_attr( $_GET[ 'coupon_code' ] );
            WC()->sessão->set('coupon_code', $coupon_code); // Define o código do cupom na sessão
        }
    }
}
add_action( 'init', 'ts_get_custom_coupon_code_to_session' );

/**
 * Aplique o código do cupom ao carrinho se a sessão tiver a variável cupom_code. 
 */
function ts_apply_discount_to_cart() {
    // Define o código do cupom
    $coupon_code = WC()->session->get( 'coupon_code');
    if ( ! empty( $coupon_code ) && ! WC()->cart->has_discount( $coupon_code ) ){
        WC()->cart->add_discount( $coupon_code); //aplica o desconto do cupom
        WC()->sessão->__unset( 'coupon_code' ); // remove o código do cupom da sessão
    }
}
add_action( 'woocommerce_before_cart_table', 'ts_apply_discount_to_cart', 10, 0 );

Aqui usamos dois ganchos init e woocommerce_before_cart_table. Onde no gancho init estamos verificando se a URL atual contém var de consulta de código_cupom ou não e se contém, o valor da variável é armazenado na sessão do WooCommerce. No gancho woocommerce_before_cart_table, estamos verificando se a variável cupom_code está definida na sessão WooCommerce, então aplicamos esse código de cupom ao carrinho.

Depois de adicionar o código acima, você pode usar o URL abaixo para enviá-lo aos seus clientes.

 https://mywebsite.com/?coupon_code=20OFFNatal

Ou se você quiser redirecionar o URL diretamente para o carrinho ou página de checkout após aplicar o cupom, você pode usar os URLs abaixo.

 https://mywebsite.com/cart/?coupon_code=20OFFNatal
 https://mywebsite.com/checkout/?coupon_code=20OFFNatal 
Coupon Applied with URL contains coupon_code Variable
Cupom aplicado com URL contém a variável cupom_code

Depois que o cupom for aplicado ao carrinho, você não deseja que seus clientes adicionem outro cupom ao mesmo carrinho. Portanto, é melhor ocultar o campo do código do cupom no carrinho e na página de checkout. Aqui está outro post que explica Como ocultar o campo de código do cupom WooCommerce.

Usando extensões WooCommerce

Outra maneira de conseguir isso é usando diferentes extensões do WooCommerce, que permitem aplicar o código do cupom automaticamente ao carrinho. Abaixo estão algumas das extensões:

  1. Smart Coupons – Este plugin tem tudo o que você precisa para aumentar as vendas e os clientes usando descontos, cupons, créditos, vouchers, brindes de produtos, ofertas e promoções. É o plugin de gerenciamento de cupons mais vendido e completo para WooCommerce.
  2. Cupons de URL WooCommerce – A extensão WooCommerce URL Coupons ajuda você a criar URLs exclusivos que aplicam automaticamente um desconto e produtos ao carrinho de compras do cliente. Você pode alterar para onde o cliente é redirecionado depois de visitar o URL exclusivo, e seus cupons de URL ainda obedecerão a todas as restrições de cupom, como restrições de uso.
  3. Cupons Avançados – Os Cupons Avançados estendem seus recursos de cupom para que você possa comercializar melhor sua loja.
  4. Recursos de cupom estendido WooCommerce GRÁTIS – “Recursos de cupom estendido WooCommerce” adiciona funcionalidade aos cupons WooCommerce e permite regras de desconto automáticas. Muito fácil de usar, a funcionalidade é convenientemente integrada ao painel WooCommerce Edit Coupon.
  5. Auto Coupons for WooCommerce – É um plugin simples e leve que permite que os cupons sejam aplicados automaticamente ao carrinho se as regras definidas forem atendidas.

Assim, você pode usar os trechos de código ou os plugins para oferecer ao cliente um desconto imperdível nas compras.