【问题标题】:WooCommerce Get Product Id Inside woocommerce_cart_calculate_fees Filter [duplicate]WooCommerce 在 woocommerce_cart_calculate_fees 过滤器中获取产品 ID [重复]
【发布时间】:2020-12-09 19:04:48
【问题描述】:

我无法在 woocommerce_cart_calculate_fees 过滤器中获取产品 ID 我假设我使用的语法是错误的,因为当我 var_dump() 整个购物车对象时我可以看到产品 ID。

这是我的代码:

add_filter( 'woocommerce_cart_calculate_fees', 'add_administration_fees', 10, 1 );

function add_administration_fees( $cart ) {
    // var_dump($cart);

    foreach ($cart as $item) {
        echo $item['product_id'];
    }
}

如果我也可以在没有 foreach 循环的情况下做到这一点,那就太好了,因为我将要做到这一点,这样您一次只能在购物车中拥有一种产品。此产品也是使用 WooCommerce 订阅插件的订阅类型产品,以防万一。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    您必须从 $cart 对象中获取购物车内容(项目),您可以使用 WooCommerce 的 getter 函数 get_cart_contentents()。所以你的代码看起来像这样:

    add_filter( 'woocommerce_cart_calculate_fees', 'add_administration_fees', 10, 1 );
    function add_administration_fees( $cart ) {
        foreach ( $cart->get_cart_contents() as $item ) {
            echo $item['product_id'];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2018-03-25
      • 2016-05-11
      • 2014-07-04
      相关资源
      最近更新 更多