woocommerce_get_shop_coupon_data 被调用 3 次

woocommerce_get_shop_coupon_data being called 3 times

我正在为 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 购物车的旁注中,我需要为每个购物车提供一个唯一的标识符。我知道订单完成时只有一个唯一标识符,但我需要将一个标识符传递给每个优惠券交易。

如有任何想法,我们将不胜感激。

您应该更好地跟踪与优惠券相关的客户事件:

  1. 当客户使用优惠券代码使用woocommerce_applied_coupon操作挂钩时:

    add_action('woocommerce_applied_coupon', 'action_applied_coupon', 10, 1 );
    function action_applied_coupon( $coupon_code ) {
        // Your code here
    }
    
  2. 当客户使用 woocommerce_removed_coupon 操作挂钩 删除优惠券代码 时:

    add_action('woocommerce_removed_coupon', 'action_removed_coupon', 10, 1 );
    function action_removed_coupon( $coupon_code ) {
        // Your code here
    }
    

此挂钩只会针对每个与优惠券有关的客户事件调用一次...