Добавление крюка для удаления элемента в корзине woocommerce

В корзине woocommerce, когда пользователь нажимает кнопку 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' ); 

К сожалению, это только список всех продуктов в тележке, которые не были удалены. Элемент, который не был удален, больше не указан.

Я попробовал «woocommerce_get_remove_url» и «woocommerce_cart_item_remove_link», они, похоже, ничего не делают для меня.

Спасибо!

Solutions Collecting From Web of "Добавление крюка для удаления элемента в корзине woocommerce"

Я думаю, вам нужно использовать woocommerce_remove_cart_item который запускается непосредственно перед тем, как элемент будет реально удален из массива содержимого корзины. 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 );