Почему не все товары добавляются в корзину?

$(".tocart").on( "click", function() {
var cart_date = $('.sbor .tocart').attr("data-cart").split(';');
cart_date.forEach(function(item, i, cart_date) {
	product = item.split(',');
	varid=product[2];
	qty=product[1];
var data = {
		action: 'my_action',
        product_id: product[0],
        qty : qty,
		variable_id: varid ,
		};
		jQuery.post( myajax.url, data, function(response) {
		});
});
});

add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback() {
   $product_id= intval( $_POST['product_id'] );
   $qty= intval( $_POST['qty'] );
   $variable_id= intval( $_POST['variable_id'] );
   global $woocommerce;
   $woocommerce->cart->add_to_cart($product_id, $qty, $variable_id);
   wp_die(); 
}


Вот основной код отвечающий за ajax добавление товаров в корзину, по 1 штуки всё работает хорошо, то есть за одно добавление всё хорошо добавляется.
а когда уже несколько товаров и срабатывает цикл forEach то товары пропадают, из 5 допустим 2 добавляются, в случайном порядке. из woocommerce как будто не замечает
Да мне нужно за раз добавлять несколько товаров.
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ответы на вопрос 1
Woocommerce делает проверки перед добавлением в корзину и в случае ошибки заполняет notification. Потом он эти сообщения выводит пользователю.
Ваш код игнорирует это.
Проверьте сообщения, может в них есть ответ.

Посмотрите родной код добавления в корзину.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы