Я динамически делаю продукты с помощью 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);
}
Это создает новый продукт, но не добавляет его в корзину. У кого-нибудь есть идеи, почему?