gpt4 book ai didi

php - 过滤器 "woocommerce_cart_contents_weight"未应用运输重量

转载 作者:行者123 更新时间:2023-12-04 08:44:08 25 4
gpt4 key购买 nike

我试图在购物车的总重量中考虑包裹重量,以便我可以收取正确的运费。
我尝试在“woocommerce_cart_contents_weight”上添加过滤器,如 there 解释
所以我添加了以下代码片段

function add_package_weight_to_cart_contents_weight( $weight ) {        
$weight = $weight * 1.3; // add 30%
return $weight;
}

add_filter('woocommerce_cart_contents_weight', 'add_package_weight_to_cart_contents_weight');
我还添加了一个片段来在购物车页面上打印购物车重量,我可以看到未应用重量过滤器:无论该片段是否处于事件状态,购物车的总重量都不会改变。
我还尝试将 900 克的元素放入购物车,这样,随着箱子的重量,它超过 1 公斤并改变价格,但运费仍然是 1 公斤以下的价格。
关于为什么不应用它以及如何解决它的任何想法?

最佳答案

您的代码有效且仅影响 WC_Cart method get_cart_contents_weight() 用法。
现在对于运输方式,由于购物车元素可以分成包裹,因此重量是针对每个运输包裹计算的,不使用 WC_Cart method get_cart_contents_weight() .相反,它将对每个包裹的购物车项目进行计算。
一种可能的方法是使用过滤器 Hook woocommerce_package_rates根据包裹重量计算改变成本。但这将变得更加复杂,因为您似乎正在使用 3rd 方插件。

关于php - 过滤器 "woocommerce_cart_contents_weight"未应用运输重量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64416812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com