Избегайте ошибки «wc_add_to_cart_params не определен» в WooCommerce

#javascript #jquery #ajax #wordpress #woocommerce

#javascript #jquery #ajax #wordpress #woocommerce

Вопрос:

Я пытаюсь добавить товары в корзину в woocommerce, но получаю постоянную ошибку Uncaught ReferenceError: wc_add_to_cart_params is not defined .

Я уже много раз использовал этот подход без проблем, был ли wc_add_to_cart_params удален из woocommerce? Если да, то какова замена?

Мой код выглядит следующим образом:

   var productId = form.find('input[name=product_id]').val();
  var variationId = form.find('input[name=variation_id]').val();
  var qty = form.find('input[name=qty]').val();

  // Data array
  var data = {
    action: 'woocommerce_ajax_add_to_cart',
    product_id: productId,
    variation_id: variationId,
    quantity: qty,
  };

  // Ajax function
  $.ajax({
    type: 'post',
    url: wc_add_to_cart_params.ajax_url,
    data: data,
  });
  

Спасибо

Ответ №1:

В случае, если это возникает у кого-либо еще, оно загружается add-to-cart.min.js только в том случае, если в настройках WC включено «Включить кнопки добавления AJAX в корзину в архивах». Это решает проблему для меня.

Комментарии:

1. «Включить кнопки добавления AJAX в корзину в архивах» сработало для меня, спасибо

Ответ №2:

Ваш синтаксис правильный, но суть в том, откуда он вызывается. Если это внешний js-файл, поместите его в нижний колонтитул.

Комментарии:

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

2. Кажется, я изолировал проблему от сценария woocommerce add-to-cart.min.js не загружается. Это файл, который, по-видимому, содержит параметры wc_add_to_cart_params. Я переустановил WC, но безуспешно. Есть предложения?

3. woocommerce не загружается add-to-cart.min.js на всей странице сайта. Он появляется только на тех страницах, где представлена кнопка «Добавить в корзину». Если вы хотите обработать его где-либо еще, вам нужно поставить его в очередь вручную для этой страницы. Спасибо.