我正在为Woocommerce编写一个插件,以对优惠券提供者进行api调用,并且通过以下方式加入woocommerce_get_shop_coupon_data
:
add_filter( 'woocommerce_get_shop_coupon_data', 'wigroup_coupon_injecion', 1, 3 );
一切正常,,但在每个页面加载以及输入或删除优惠券时,此挂钩均被调用3次。
所以我的问题是:
如何挂钩除
woocommerce_get_shop_coupon_data
以外的其他正在应用的优惠券?每次被调用3次是否正常?
在woocommerce购物车的一个旁注中,每个购物车都需要一个唯一的标识符。我知道订单完成后只有唯一的标识符,但是我需要将标识符传递给每个优惠券交易。
任何想法,将不胜感激。
最佳答案
您应该更好地跟踪与优惠券相关的客户事件:
woocommerce_applied_coupon
操作挂钩应用优惠券代码时:add_action('woocommerce_applied_coupon', 'action_applied_coupon', 10, 1 );
function action_applied_coupon( $coupon_code ) {
// Your code here
}
woocommerce_removed_coupon
操作钩删除优惠券代码时:add_action('woocommerce_removed_coupon', 'action_removed_coupon', 10, 1 );
function action_removed_coupon( $coupon_code ) {
// Your code here
}
对于每个与优惠券有关的客户事件,此挂钩仅被调用一次。
关于php - woocommerce_get_shop_coupon_data被调用3次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49675017/