在wooccommerce购物车中,当用户按下购物车上的REMOVE ITEM按钮时,我正试图从购物车中的项目中检索一些帖子元。类似于:
$removed_stock = get_post_meta( $product_id, 'more_info_data', 'x' );
为此,我添加了一个操作:
function ss_cart_updated( $item_id ) {
print "<pre>";
print_r (WC()->cart->get_cart());
print "</pre>";
exit;
};
// add the action
add_action( 'woocommerce_cart_item_removed', 'ss_cart_updated' );
不幸的是,这只列出了购物车中尚未删除的所有产品。尚未删除的项目不再列出。
我试过"woocomerce_get_remove_url"answers"woocommerce_cart_item_remove_link",它们似乎对我没有任何帮助。
非常感谢!
我认为您需要使用woocommerce_remove_cart_item
,它在项目从cart内容数组中实际取消设置之前运行。woocommerce_cart_item_removed
发生在项目被移除之后,因此您已经发现无法获取有关产品的任何信息。未测试,但试试这个:
function ss_cart_updated( $cart_item_key, $cart ) {
print "<pre>";
$product_id = $cart->cart_contents[ $cart_item_key ]['product_id'];
print_r(get_post_meta( $product_id, 'more_info_data', true ));
print "</pre>";
exit;
};
add_action( 'woocommerce_remove_cart_item', 'ss_cart_updated', 10, 2 );