Woocommerce добавление в корзину с post_id - PullRequest
0 голосов
/ 09 марта 2020

Я динамически делаю продукты с помощью woocommerce и мне нужно добавить их в корзину. У меня есть функция ajax, которая вызывает это в файле плагина php:

         $name = $_POST['name'];
        $price = $_POST['price'];
        $post_id = wp_insert_post( array(
            'post_title' => 'new Product',
            'post_content' => 'here is product content',
            'post_status' => 'publish',
            'post_type' => "product",
            'ID' => 1,
            ) );
            wp_set_object_terms( $post_id, 'simple', 'product_type' );
            update_post_meta( $post_id, '_visibility', 'visible' );
            update_post_meta( $post_id, '_stock_status', 'instock');
            update_post_meta( $post_id, 'total_sales', '0' );
            update_post_meta( $post_id, '_downloadable', 'no' );
            update_post_meta( $post_id, '_virtual', 'yes' );
            update_post_meta( $post_id, '_regular_price', $price );
            update_post_meta( $post_id, '_sale_price', '' );
            update_post_meta( $post_id, '_purchase_note', '' );
            update_post_meta( $post_id, '_featured', 'no' );
            update_post_meta( $post_id, '_weight', '' );
            update_post_meta( $post_id, '_length', '' );
            update_post_meta( $post_id, '_width', '' );
            update_post_meta( $post_id, '_height', '' );
            update_post_meta( $post_id, '_sku', '' );
            update_post_meta( $post_id, '_product_attributes', array() );
            update_post_meta( $post_id, '_sale_price_dates_from', '' );
            update_post_meta( $post_id, '_sale_price_dates_to', '' );
            update_post_meta( $post_id, '_price', '' );
            update_post_meta( $post_id, '_sold_individually', '' );
            update_post_meta( $post_id, '_manage_stock', 'no' );
            update_post_meta( $post_id, '_backorders', 'no' );
            update_post_meta( $post_id, 'product_id', '444' );
            update_post_meta( $post_id, '_stock', '' );
            WC()->cart->add_to_cart($post_id);
}

Это создает новый продукт, но не добавляет его в корзину. У кого-нибудь есть идеи, почему?

1 Ответ

0 голосов
/ 09 марта 2020

Ниже код будет работать!

$post_id = wp_insert_post( array(
            'post_title' => 'new Product',
            'post_content' => 'here is product content',
            'post_status' => 'publish',
            'post_type' => "product"
           ) );
WC()->cart->add_to_cart($post_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...