Php 如何从“中查找产品id”;woocommerce“购物车”项目“已移除”;钩子?

Php 如何从“中查找产品id”;woocommerce“购物车”项目“已移除”;钩子?,php,wordpress,woocommerce,cart,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\u cart\u it

我有密码

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\u cart\u item\u key获取产品id或实际产品对象本身的方法。你是怎么做到的?我找不到任何参考资料,谢谢。

应该是这样的

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' ];
}

因为它发生在删除购物车项目之前,所以您需要使用
woocommerce\u remove\u cart\u item
而不是
woocommerce\u cart\u item\u remove
,来检索此产品项目

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'];
}

参见

谢谢,新手问题:10和2是干什么的?我不得不使用“woocommerce\u cart\u item\u removed\u title”挂钩。只是一个BTW。在这样做的过程中,我所要做的就是检索我要查找的项目
$cart['some property']
,因为$cart只提供了被删除的项目…我实际上可以使用此解决方案解决我自己的问题,这与OP类似。