如何保持Wooccommerce Composite Product扩展不会将复合项目的数量乘以基础产品数量?

时间:2018-05-27 17:37:40

标签: woocommerce product composite calculation

Wooccommerce Composite产品扩展允许您创建一个产品,它是基础产品和一个或多个组件产品的组合。就像在一个大盒子里面放一个或多个小盒子,在一个更大的盒子里放一个大盒子。一个大盒子里面的小盒子的数量可以增加,一个大盒子的数量也可以增加,但是更大的盒子就是最终产品。

我有一个基础产品(滑板),我有可以选择添加到整体订单的组件产品(卡车,轮子等)。组分产品的数量可以增加,与基础产品的数量相同。

问题是当基础产品的数量增加时,组分产品的数量乘以基础产品数量,导致更多的组分产品被添加到推车中。

示例:我想为董事会订购两个滑板和两辆卡车。当我点击“添加到购物车”按钮时,插件会计算两块板和四辆卡车的价格。

以下是复合产品的链接

以下是购物车页面中订单结果的链接

结果总额应为$ 60 =(2x $ 10)+(2x $ 20), 不是$ 100 = 2 [(2x $ 20)+ $ 10]

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。为此,我必须修改包含在includes文件夹中的class-wc-cp-cart.php文件中的代码。必须在两个地方将复合组件数量除以基础产品数量。

第432行: $ quantity = $ item_quantity * $ composite_quantity / $ item_quantity;

第1184行: $ quantity = $ composited_product-> is_sold_individually()? 1:$ item_quantity * $ composite_quantity / $ item_quantity;