我正在尝试使用可变产品在产品页面上为WooCommerce制作一个AJAX添加到购物车按钮。通过执行以下操作(在jQuery中)可以使用AJAX将产品添加到购物车
var data = {
action: 'woocommerce_add_to_cart',
product_id: p_id,
quantity: quantity
};
$.post( "/wp-admin/admin-ajax.php", data, function( response ) {
if ( ! response )
return;
});
然而,我正在努力使其适用于变量产品(在产品页面上,而不是存档页面),这是我到目前为止所做的:
var params = { pa_size:'500g-resealable-pouch', pa_flavour:'chocolate' };
var variationParams = $.param( params );
var data = {
action: 'woocommerce_add_to_cart',
product_id: p_id,
quantity: quantity,
variation_id: var_id,
variation: variationParams
};
$.post( "/wp-admin/admin-ajax.php", data, function( response ) {
if ( ! response )
return;
});
所有这一切都是将产品添加到购物车,但它忽略了变化,因此不会将“尺寸:X,风味:Y”放入购物篮中!
我知道我应该将数组发送到woocommerce_add_to_cart函数,但我无法弄清楚如何通过AJAX发送关联数组。我已经阅读了一些关于$ .param的内容,但它似乎没有用。
请注意,我想使用此功能而不是发布到“add_to_cart_url”,因为该方法会使其在整个地方输出“Product added to cart”消息。