我有代码
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或实际产品对象的方法。你怎么做呢?我找不到任何参考文献,谢谢。
答案 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