cart;
$coupon_code = filter_input(INPUT_GET, 'discount', FILTER_SANITIZE_STRING);
// checar si el cupon ya fue aplicado
if( $this->_check_in_array(strtolower($coupon_code), $cart->applied_coupons) ){
return;
}
// dejar que woocommerce muestre el mensaje de error
if( !$this->is_coupon_valid($coupon_code) ){
printf("
%s
", $this->is_coupon_valid($coupon_code, true));
return;
}
$resp = $cart->add_discount($coupon_code);
if( $this->_check_in_array(strtolower($coupon_code), $cart->applied_coupons) ){
printf("%s Applied successfully
", $coupon_code);
}
}
function _check_in_array($item, $array) {
if( !is_array($array) ){
$array = explode(',', $array);
}
if(in_array($item, $array, true) !== false) return true; return false;
}
function is_coupon_valid($coupon_code, $show_error = false){
$coupon = new WC_Coupon($coupon_code);
$discounts = new WC_Discounts(WC()->cart);
$status = $discounts->is_coupon_valid($coupon);
if( is_wp_error($status) ){
if( $show_error )
return $status->get_error_message();
else
return false;
}else{
return true;
}
}
}
?>