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; } } } ?>