Códigos do Guru

Cupom automático via url no WooCommerce

O código que eu compartilhei é uma <b>função personalizada em PHP</b> para aplicar automaticamente um cupom no carrinho do WooCommerce quando um link especial com o código do cupom é clicado.

Essa função faz uso da ação woocommerce_before_calculate_totals do WooCommerce, que é chamada antes do WooCommerce calcular o total do carrinho, para verificar se há um cupom presente na URL. Se houver um cupom, ele será aplicado automaticamente ao carrinho.

Aqui está uma explicação do trecho de código:
add_action( 'woocommerce_before_calculate_totals', 'apply_matched_coupons' );

Este trecho de código adiciona a função apply_matched_coupons() à ação woocommerce_before_calculate_totals.

function apply_matched_coupons( $cart ) {

Esta é a definição da função apply_matched_coupons(). Ela recebe um parâmetro $cart que representa o carrinho atual.

if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
return;
}

Este trecho de código verifica se o usuário é um administrador e se a solicitação não é uma solicitação AJAX. Se for o caso, a função é encerrada e nenhum cupom é aplicado.

$coupon_code = isset( $_GET['coupon'] ) ? $_GET['coupon'] : '';

if ( ! empty( $coupon_code ) ) {
$coupon = new WC_Coupon( $coupon_code );
if ( $coupon->is_valid() ) {
$cart->apply_coupon( $coupon_code );
}
}

Este trecho de código obtém o código do cupom presente na URL, cria um objeto de cupom com esse código e verifica se o cupom é válido. Se o cupom for válido, ele é aplicado ao carrinho.

Para usar esta função, você pode adicionar o código a um plugin personalizado ou adicioná-lo ao arquivo functions.php do seu tema. Certifique-se de testar a função cuidadosamente antes de disponibilizar o link para seus clientes.

Visualização do código

VOCÊ PRECISA DE PERMISSÃO PRA OLHAR O CÓDIGO

n    tfGo 
ponm
o?ot
pt'yn > n_coi'n  _e_GA o{ enD {c) 
c& tpts nJp
pe c;
$d$' ur
) f(
  c coo ;
e cv'ar !h$o(
po:  T np  >$ (f_au[p)ts  so )ura m  oc_uu{ su  e )md 
p ')_)c
i( d ccc' $Oc( ;'n wc, _ fe' do lomtoia'(c}op )_ue_dor_lt(f $lp C!
 c
o
cw( on
   A
i Totic]u_c bed_ c
$ 
   o( oo maei= o_ep
cn$   p
G{ednpat ;oaeX ys f ay pp_i  o'} uEai  do)}cu
  ')=(   sdhol ip( r au l_unp
on&[n  cd_eiIa;
 _n_
 e)t eodWco]to'u-m 
ileNca}nsonal$  
$ay_
)(r  ndue-  pEu o o C