我无法在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订阅插件。
发布于 2020-08-20 20:49:53
您必须从$cart对象获取购物车内容(商品),您可以使用WooCommerce获取函数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'];
}
}https://stackoverflow.com/questions/63505153
复制相似问题