You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Ajax向WooCommerce添加自定义油漆颜色产品时重复添加失效的问题求助

通过Ajax向WooCommerce添加自定义油漆颜色产品时重复添加失效的问题求助

我正在搭建一个油漆商店,客户可以选择RAL颜色并设置购买的升数。价格是根据颜色配方计算的,目前第一次添加产品时,价格和产品描述都能正常显示,但当我尝试选择另一种颜色添加到购物车时,新的产品根本加不进去。

下面是我目前写的自定义代码:

add_filter('woocommerce_add_cart_item' , 'set_woo_prices');

add_filter('woocommerce_get_cart_item_from_session',  'set_session_prices', 10 , 3);

function set_woo_prices($woo_data) {

if (empty($_POST['kforwselectcolorprice'])) {

return $woo_data;

}

$woo_data['my_prod_name'] = $_POST['kforwselectcolorname'];

foreach ($_POST['kforwoo_variation_quantity'] as $prodVarName => $prodVarQty) {

if (empty($prodVarQty)) {

continue;

}

$woo_data['my_prod_name'] .= sprintf("<br/> %s x %d", $prodVarName, $prodVarQty);

}

$woo_data['my_price'] = $_POST['kforwselectcolorprice'];

$woo_data['data']->set_price($_POST['kforwselectcolorprice']);

$woo_data['data']->set_name($woo_data['my_prod_name']);

return $woo_data;

}

function set_session_prices($woo_data, $values, $key) {

if (empty($woo_data['my_price']) || empty($woo_data['my_prod_name'])) {

return $woo_data;

}

$woo_data['data']->set_price($woo_data['my_price']);

$woo_data['data']->set_name($woo_data['my_prod_name']);

return $woo_data;

}

后续排查更新:

  • 我发现只有第一次添加产品时woocommerce_add_cart_item钩子会被调用,之后再添加其他颜色的产品时,这个钩子根本不会执行。
  • 补充说明:我使用的插件是Custom Paint Variation for WooCommerce

备注:内容来源于stack exchange,提问作者Yasen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:53:07