2015-12-20 3 views
1

В корзине woocommerce, когда пользователь нажимает кнопку REMOVE ITEM на тележке, я пытаюсь получить некоторую мета-запись из позиции в корзине. Что-то вроде:Добавление крюка для удаления элемента в корзине woocommerce

$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», они ничего не делают для меня.

Большое спасибо!

ответ

2

Я думаю, вам нужно использовать 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); 
+0

Привет, это сработало, дело в том, что функция не была в моем классе-wc-cart.php ... хотя похоже, что версия верна. Я добавил, и похоже, что он работает ... Thaaanks! – MariaZ

+2

Возможно, что этот крючок входит в WC 2.5, и поэтому его еще нет в наличии. Я часто работаю с версиями github с выпуклыми краями, поэтому я могу протестировать его против премиальных расширений, которые я поддерживаю. Иногда это вызывает у меня проблемы при ответе на вопросы здесь. B/c мой исходный код не то же самое. :) – helgatheviking

Смежные вопросы