如何从“woocommerce_cart_item_removed”钩子中找出产品ID?

时间:2016-04-21 05:46:40

标签: php wordpress woocommerce cart

我有代码

add_action( 'woocommerce_cart_item_removed', 'after_remove_product_from_cart' );
function after_remove_product_from_cart($removed_cart_item_key, $instance) {
    $product_id = $removed_cart_item_key['product_id'];
}

我想找到一种使用$ removed_cart_item_key获取产品ID或实际产品对象的方法。你怎么做呢?我找不到任何参考文献,谢谢。

2 个答案:

答案 0 :(得分:3)

应该是这样的......

add_action( 'woocommerce_cart_item_removed', 'after_remove_product_from_cart', 10, 2 );
function after_remove_product_from_cart($removed_cart_item_key, $cart) {
    $line_item = $cart->removed_cart_contents[ $removed_cart_item_key ];
    $product_id = $line_item[ 'product_id' ];
}

答案 1 :(得分:1)

因为它是在删除购物车项目之前发生的,所以您需要使用woocommerce_remove_cart_item代替woocommerce_cart_item_removed来检索此商品项目。

add_action( 'woocommerce_remove_cart_item', 'after_remove_product_from_cart', 10, 2 );
function after_remove_product_from_cart($removed_cart_item_key, $cart) {
    $product_id = $cart->cart_contents[ $removed_cart_item_key ]['product_id'];
}

请参阅this source

中的helgatheviking