发ajax加入购物车,WooCommerce AJAX在产品页面添加到购物车 - 可变产品

博主正试图通过AJAX在WooCommerce产品页面上实现变量产品的添加到购物车功能,遇到问题。他们已经能够将产品ID和数量发送到后台,但无法正确处理变量参数,导致尺寸和风味等变量信息未被添加到购物车。目前的代码尝试将参数以关联数组形式发送,但未能成功。博主希望避免使用`add_to_cart_url`,因为它会触发全局的“已添加到购物车”消息。他们寻求解决如何正确通过AJAX发送关联数组来包含变量信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试使用可变产品在产品页面上为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”消息 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值