Я пытаюсь добавить переменный продукт в корзину плагина WordPress, WooCommerce.
До сих пор мне удавалось добавлять одиночные/простые продукты с помощью:
$woocommerce->cart->add_to_cart( [product_id], [quantity] );
Однако, глядя в WC_Class на сигнатуру функций:
function add_to_cart( $product_id, $quantity = 1, $variation_id = '', $variation = '', $cart_item_data = array() ) {
мы ясно видим, что функция разрешает ввод Variation_id.
У меня есть пробовал каждую комбинацию нулей и целых чисел в строках:
$woocommerce->cart->add_to_cart( 24, 1, 28, null, null );
и т. д. безрезультатно.
Я также попробовал свой собственный хакерский подход, который пытается воссоздать события публикации, выполняемые собственной страницей продукта WooCommerce, но снова безуспешно.
<a id="buy_v" href="#">Buy Variable Product !</a>
<script>
$('#buy_v').click(function(e) {
e.preventDefault();
addToCartV(24,26,'Red',1);
return false;
});
function addToCartV(p_id, v_id, c, q) {
$.ajax({
type: 'POST',
url: '/wp/?product=tee1&add-to-cart=variation&product_id='+p_id,
data: { 'attribute_colour': c,
'variation_id': v_id,
'quantity': q,
'product_id': p_id},
success: function(response, textStatus, jqXHR){
// log a message to the console
console.log("It worked!");
}/*,
dataType: 'JSON'*/
});
}
</script>
Кто-нибудь может подсказать, где я ошибаюсь? Спасибо.