WordPress:如何让TM额外产品选项费用计入小计触发免邮?
解决TM Extra Product Options附加费用不计入免邮门槛的问题
我之前帮客户处理过一模一样的场景,给你几个靠谱的解决思路:
1. 先检查插件内置设置(最快的方法)
首先打开TM Extra Product Options的设置页面,找到附加选项的费用计算设置:
- 进入WordPress后台 → 产品 → TM Extra Product Options → 全局设置(或对应产品的选项设置)
- 查找类似“将附加费用计入购物车小计”(英文可能是
Add to Cart Subtotal或Include in Shipping Calculation)的开关,确保它是开启状态 - 保存设置后测试下单,看附加费用是否被纳入免邮门槛的计算
很多时候这个开关默认是关闭的,开启后就能直接解决问题。
2. 用WooCommerce钩子强制将附加费用计入运费计算基数
如果插件本身没有这个选项,或者开启后没用,就用代码来调整。把下面的代码添加到你的主题functions.php文件里,或者用代码片段插件(比如Code Snippets)来添加:
add_filter( 'woocommerce_shipping_packages', 'include_tm_extra_options_in_shipping_total' ); function include_tm_extra_options_in_shipping_total( $packages ) { foreach ( $packages as $key => $package ) { $extra_total = 0; // 遍历购物车中的每个商品,获取TM附加选项的费用 foreach ( $package['contents'] as $item_id => $item ) { if ( isset( $item['tmcartepo_data']['options'] ) ) { foreach ( $item['tmcartepo_data']['options'] as $option ) { $extra_total += floatval( $option['price'] ); } } } // 将附加费用加到当前包裹的小计中,用于运费计算 $packages[$key]['contents_cost'] += $extra_total; } return $packages; }
这段代码会遍历购物车的每个商品,提取TM插件添加的附加选项费用,然后把这些费用加到运费计算使用的包裹小计里,这样免邮规则就会把附加费用算进去了。
3. 调整免邮规则的计算基准(备选方案)
如果上面的方法都不生效,你可以直接修改WooCommerce的免邮设置,把计算基准从小计改成总计:
- 进入WooCommerce → 设置 → 配送 → 免运费
- 找到“免运费基于”选项,选择“订单总计”(而不是“购物车小计”)
- 保存后,附加费用会被包含在订单总计里,自然就能触发免邮了
这个方法更简单,但要注意如果你的店铺有其他折扣或优惠券,可能会影响免邮的触发逻辑,所以需要测试清楚。
内容的提问来源于stack exchange,提问作者Saypontigohe
相关产品推荐
相关产品推荐

