Как в woocommerce добавить товар в корзину с помощью кода?
Здравствуйте, подскажите пожалуйста как можно с помощью кода, или автоматически добавить пользователю товар в корзину. Я использую плагин для вордпресс woocommerce. И хотел бы сделать на своем сайте подарок пользователям в виде бесплатного товара в их корзине.
Приведу пример как можно добавить товар с id 68 при загрузки любой страницы вордпресс.
Товар добавится для каждого пользователя кроме администратора
/* * Add item to cart on visit */ function add_product_to_cart() { if ( ! is_admin() ) { global $woocommerce; $product_id = 64; $found = false; //check if product already in cart if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) { foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; if ( $_product->id == $product_id ) $found = true; } // if product not found, add it if ( ! $found ) $woocommerce->cart->add_to_cart( $product_id ); } else { // if no products in cart, add it $woocommerce->cart->add_to_cart( $product_id ); } } } add_action( 'init', 'add_product_to_cart' );
Удалив или заменив экшен add_action( ‘init’, ‘add_product_to_cart’ ); — вы можете вызывать функцию на свои события
а как мне его отправить еще сразу в Заказы?
создать Order

Если у вас не через checkout, то после отправки формы или что у вас там переберите все продукты из корзины и затем очистите корзину.
Получить данные из корзины:
global $woocommerce; $cart = $woocommerce->cart->get_cart()
Затем проверяем есть ли $cart и если есть делаем foreach. Получаем id продуктов и добавляем в корзину.
как отправить все в Order, то что получаю тут?
$woocommerce->cart->get_cart()