WC_Cart::add_to_cart() — добавление товара в корзину в WooCommerce

Создает и возвращает идентификатор товара в корзине. Если же до использования функции товар уже был в корзине, то просто будет добавлена ещё одна единица этого же товара (если такая возможность имеется).

$korzina = new WC_Cart();
$korzina->add_to_cart( $product_id = 0, $quantity = 1, $variation_id = 0, $variation = array(), $cart_item_data = array() )

А вот это в общем то более правильный вариант:

global $woocommerce;
$woocommerce->cart->add_to_cart( $product_id = 0, $quantity = 1, $variation_id = 0, $variation = array(), $cart_item_data = array() )
$product_id
(целое число) ID товара, также непосредственно сюда можно передать ID вариации товара. Параметр обязателен, функция возратит false, если его не указать.
$quantity
(целое число) Количество единиц товара.
$variation_id
(целое число) ID вариации товара. Берём его отсюда:

ID вариации товара для добавления в корзину.
$variation
(массив) Ассоциативный массив атрибутов товара.
$cart_item_data
(массив) Дополнительные данные в формате array( 'ключ' => значение ), которые требуется передать в хуки внутри функции, которые вы сами можете посмотреть здесь. Если же вы хотите, чтобы я разобрал какой-то из них на примере — не вопрос, просто напишите об этом в комментариях.

Пример 1. Простое использование

Без создания объекта, напрямую через класс функцию выполнить не получится.

$korzina = new WC_Cart();
$korzina->add_to_cart( 544 );

Пример 2. Добавляем текущий товар в корзину, используя глобальный объект текущего поста и глобальный объект $woocommerce

Я говорю, что это более правильный вариант, потому что объект корзины класса WC_Cart уже создан и находится в $woocommerce->cart и не нужно создавать его ещё раз.

global $post, $woocommerce;
$woocommerce->cart->add_to_cart( $post->ID );
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.