我正在尝试使用可变产品在产品页面上为WooCommerce制作一个AJAX添加到购物车按钮 . 通过执行以下操作,可以使用AJAX将产品添加到购物车中(在jQuery中)

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”消息 .