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

如何在WooCommerce中基于商品数量和购物车总金额计算运费

WooCommerce自定义运费规则实现方案

完全可以实现你需要的按「购物车商品数量+订单总金额」组合计算运费的需求,常见有两种实现路径:

方式1:使用内置运费规则配置

如果你不想写代码,可以直接在WooCommerce后台配置:

  • 进入「WooCommerce → 设置 → 配送」,选择你要设置规则的配送区域
  • 添加新的配送方法,选择「统一费率」
  • 配合WooCommerce核心自带的条件判断功能,直接在费率设置里填写触发条件即可,不需要额外安装付费插件。

方式2:自定义代码实现(灵活性更高)

如果你的规则比较复杂,建议直接加代码片段到当前主题的functions.php文件,或者用代码片段管理插件插入即可,参考代码如下:

add_filter( 'woocommerce_package_rates', 'custom_shipping_cost_based_on_qty_and_total', 10, 2 );
function custom_shipping_cost_based_on_qty_and_total( $rates, $package ) {
    // 获取购物车商品总数量
    $cart_qty = WC()->cart->get_cart_contents_count();
    // 获取购物车总金额(不含运费)
    $cart_total = WC()->cart->subtotal;

    // 你的规则:数量大于3 且 总金额低于900时,运费设为80
    if ( $cart_qty > 3 && $cart_total < 900 ) {
        foreach ( $rates as $rate_key => $rate ) {
            // 修改所有配送方式的运费为80,也可以指定特定配送方式
            $rates[$rate_key]->cost = 80;
        }
    }
    return $rates;
}
  • 代码添加后记得清空WooCommerce缓存和购物车缓存再测试
  • 如果需要新增其他组合规则,只需要在函数里新增对应的if判断分支调整运费数值即可

内容的提问来源于stack exchange,提问作者Sreejith Vishnu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:48:02