Какое значение поля "arg" отправляется на веб-крючок woocommerce_add_to_cart? - PullRequest
1 голос
/ 14 апреля 2019

Хотелось бы узнать, происходило ли добавление товара в корзину в woocommerce. В документации говорится, что приложение должно использовать веб-крюк, который уведомляет о действии woocommerce_add_to_cart.

Так что я реализовал это и с радостью получил сообщение о том, что это произошло вскоре после того, как произошло такое событие.

Вот пример JSON, который я получил от woocommerce:

{"action":"woocommerce_add_to_cart","arg":"fe9fc289c3ff0af142b6d3bead98a923"}

Однако, поскольку многие посетители веб-сайта woocommerce могут иметь свою собственную корзину и множество продуктов, я хотел бы знать, есть ли способ расшифровать поле arg, чтобы он предоставил уникальный продукт, который был добавлен в конкретную корзину .

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

1 Ответ

0 голосов
/ 14 апреля 2019

Значение 'arg' - это ключ элемента корзины , который передается через woocommerce_add_to_cart ловушку действия в качестве аргумента, и возвращается on WC_Cart add_to_cart() метод on line 1120:

do_action( 'woocommerce_add_to_cart', $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data );

return $cart_item_key; // <========= HERE

То, что ключ элемента корзины позволяет, например, получить элемент корзины с использованием метода WC_Cart get_cart_item() и получить данные элемента корзины:

$cart_item = WC()->cart->get_cart_item( $cart_item_key );
...