Esse artigo sai de uma demanda de um Parceiro. Apesar do recurso em questão já haver plugin para atender, o nosso parceiro pediu uma solução sem gastos exorbitantes.
A solicitação foi para a possibilidade de criar um Cupom de desconto que pudesse não acrescentar desconto no Carrinho, mas assim, além disso, ter a possibilidade de ao digitar um código de cupom, um brinde poder ser oferecido ao cliente, um produto como brinde ou com desconto personalizado. Após vários garimpos no diretório de plugins oficial do WordPress e Woocommerce.
Criamos o seguinte script usando alguns exemplos de código da página do Woocommerce que pode ser acessado aqui! Segue o código:
/*
** Incluindo produto como brinde no Woocommerce com uso de cupom
** Fábio Couto 13/10/2021
*/
add_shortcode('produto_brinde','bidela_add_to_cart_shortcode');
function bidela_add_to_cart_shortcode($params) {
//Parâmetros padrões
extract(shortcode_atts(array(
'prod_id' => '',
'sku' => '',
), $params));
if( $sku && !$prod_id ) $prod_id = wc_get_product_id_by_sku($sku);
if($prod_id) {
$cart_contents = WC()->cart->get_cart_contents();
if ( sizeof( $cart_contents ) > 0 ) {
foreach ( $cart_contents as $values ) {
$cart_prod = $values['product_id'];
if ( $cart_prod == $prod_id ) $found = true;
}
//se o produto não for encontrado, adicione-o
if ( ! $found ) WC()->cart->add_to_cart( $prod_id );
} else {
//nenhum produto no carrinho, adicioná-lo
WC()->cart->add_to_cart( $prod_id );
}
}
return '';
}
//Aplicando o cupom
add_action( 'woocommerce_applied_coupon', 'bidela_add_product' );
function bidela_add_product($coupon_code) {
$current_coupon = new WC_Coupon( $coupon_code );
$coupon_description = $current_coupon->get_description();
do_shortcode($coupon_description);
return $coupon_code;
}
Com essas duas funções estaremos habilitando o recurso em nosso Woocommerce utilizando um shortcode para captura do produto a ser oferecido Isso permite adicionar um shortcode na descrição do cupom que especifica qual produto deve ser adicionado quando o cupom é aplicado.
Os shortcode podem ser chamados das seguintes maneiras:
[bidela_add_to_cart prod_id=1234]
[bidela_add_to_cart sku=3456]
Por ID do Produto ou pelo número de SKU cadastrado respectivamente.
Agora com algumas particularidades poderemos permitir que ao digitar o código do cupom um brinde pré determinado seja oferecido aos nossos clientes. Vamos agora a configuração do Cupom.
Configurando Cupom Com o ShortCode
Agora nos resta realizar a configuração do Cupom com a promoção, em nosso caso com o brinde.
Como já mencionado, podemos utilizar os seguintes parâmetros para configurar o produto brinde, por SKU ou ID do produtos. Usaremos do ID quando formos tratar um produto simples, sem variações, porquê nesse caso o produto estará com uma única opção. Trataremos o SKU quando quisermos oferecer como brinde um produto composto ou que tenha opções de variações, assim deixamos claro para o Woocommerce qual produto variável disponibilizar ao nosso cliente.
Caso utilize o ID do Produto variável para Brinde o Woocommerce disponibilizará o primeiro item em variações para oferecer como brinde.
Logado em seu Woocommerce com as devidas permissões iremos acessas a opção no menu “Woocommerce/Cupons“
A janela com os cupons já cadastrados serão exibidos. Clique em adicionar cupons e a tela de configuração do novo cupom será mostrada.
- A primeira caixa de texto será para adicionar o código do cupom, pode ser um nome de sua escolha ou também podemos clicar em Gerar código de cupom para gerar um código aleatório;
- A segunda caixa de texto podemos colocar um texto descritivo para sabermos como opera nosso cupom, é nesse campo que também iremos inserir nosso shortcode, como quero que o produto seja uma variação especifica estou usando o recurso de SKU. O retângulo em vermelho altera para [bidela_produto_brinde sku=<entre com sku do seu produto>];
- Agora trataremos como o desconto será concedido.
- Em Tipo de desconto iremos escolher a opção valor fixo no carrinho;
- Em Valor do Cupom entraremos com o valor exato do produto que está sendo oferecido.
- O restante dos campos configure conforme a sua necessidade.
Os mesmos passos são dados para configuração pelo ID do produto, lembrando de usar o shortcode [bidela_add_to_cart prod_id=<entre com o ID no produto>].
Para visualizar o ide do produto, basta apontar com o mouse no produto que deseja saber o id e reparar a previa do link que é disponibilizado na base da página.
Em destaque vermelho o que parece “post=1378&” entre “=” e “&” é o ID do produto.
Para certificarmos que está tudo funcionando como esperamos, basta realizar um teste. Acesse sua loja, coloque um produto no carrinho, vá para o carrinho e no campo cupom, insira o código do cupom que acabaste de criar. Se tudo foi seguido a risca, um produto de sua escolha configurado no cupom apareceu no carrinho e no calculo do carrinho deve ter aparecido o valor do produto como desconto.
Receba novos artigos assinando o nosso espaço.
No final dessa postagem temos um campo onde você é bem vindo para deixar seus comentários. Pode ser uma opinião, elogios, criticas ou correções. Pode ficar a vontade para tirar suas dúvidas ou colaborar acrescentando algo que tenhamos deixado passar desapercebido.
Sua visita e feedback é muito importante para o nosso espaço.
Paz e até mais!