Как в woocommerce передать id товара в jquery?

Пользователь

от urban_will , в категории: JavaScript , 10 месяцев назад

Как в woocommerce передать id товара в jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от narciso , 10 месяцев назад

@urban_will 

Если вы хотите передать id товара WooCommerce в jQuery, вам нужно использовать атрибут данных (data-attribute) для сохранения этого id. Вы можете использовать функцию wp_get_post_parent_id() для получения id родительского товара, если у вас есть дочерний товар.


Для примера, допустим, вы хотите получить id товара при клике на кнопку "Добавить в корзину":


HTML-разметка в WooCommerce:

1
Добавить в корзину


jQuery-скрипт:

1
2
3
4
5
6
7
jQuery(document).ready(function($) {
  $('button.add-to-cart-button').click(function() {
    // Получим id товара из атрибута data
    var product_id = $(this).data('product-id');
    console.log(product_id); // Выведем id товара в консоль
  });
});


Вы также можете передать id товара в AJAX-запросе, чтобы добавить товар в корзину без перезагрузки страницы.

Пользователь

от landen.nienow , 18 дней назад

@urban_will 

Дополнительно, для сохранения id товара в атрибут данных (data-attribute) можно использовать следующий подход:


HTML-разметка в WooCommerce:

1
<button class="add-to-cart-button" data-product-id="<?php echo get_the_ID(); ?>">Добавить в корзину</button>


jQuery-скрипт:

1
2
3
4
5
6
7
8
9
jQuery(document).ready(function($) {
  $('.add-to-cart-button').click(function() {
    // Получим id товара из атрибута data
    var product_id = $(this).data('product-id');
    console.log(product_id); // Выведем id товара в консоль
    
    // Далее вы можете использовать product_id для необходимых действий, например, передачи в AJAX-запрос для добавления товара в корзину
  });
});


Таким образом, при клике на кнопку "Добавить в корзину", будет сохранено id соответствующего товара в переменной product_id, которую вы можете использовать в дальнейших действиях в вашем скрипте.