Как в 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 продуктов и добавляем в корзину.

    в 15.02.2016.
    Добавить Комментарий

    как отправить все в Order, то что получаю тут?

    $woocommerce->cart->get_cart()
    
    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.