我正在创建一个插件,我需要在专用空间中拦截插入购物车中的优惠券代码。单击按钮:“应用优惠券”时,我应该应用一些逻辑来允许或不应用它(如果存在并且有要求),或执行其他操作。我找不到执行此操作的挂钩或过滤器。我尝试过:“woocommerce_applied_coupon”; “woocommerce_applied_coupon”但我没有得到想要的结果。
谢谢。
也许你想尝试这个动作:
woocommerce_check_cart_items
例如,
check_cart_coupons
类的默认
WC_Cart()
方法(查看此文件)添加到woocommerce_check_cart_items
中,如下所示:
add_action( 'woocommerce_check_cart_items', array( $this, 'check_cart_coupons' ), 1 );
/**
* Check cart coupons for errors.
*/
public function check_cart_coupons() {
foreach ( $this->get_applied_coupons() as $code ) {
$coupon = new WC_Coupon( $code );
if ( ! $coupon->is_valid() ) {
$coupon->add_coupon_message( WC_Coupon::E_WC_COUPON_INVALID_REMOVED );
$this->remove_coupon( $code );
}
}
}
因此您可以使用类似的东西,并且在需要时,您可以删除上面示例中给出的优惠券。