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

如何在Woocommerce中按购买数量区间设置阶梯运费价格

Woocommerce按商品数量设置阶梯运费的操作方案

方案1:无插件自定义代码实现(最稳定)

  • 提前备份网站文件与数据库,避免修改失误导致异常
  • 进入WordPress后台,依次打开「外观」-「主题文件编辑器」,在右侧文件列表找到当前主题的functions.php文件;也可通过FTP工具访问/wp-content/themes/当前激活主题目录/路径找到该文件
  • 在functions.php文件末尾添加如下代码:
add_filter( 'woocommerce_package_rates', 'custom_tiered_shipping_cost_by_qty', 10, 2 );
function custom_tiered_shipping_cost_by_qty( $rates, $package ) {
    // 获取购物车总商品数量
    $total_product_qty = WC()->cart->get_cart_contents_count();
    
    // 按数量区间设置运费
    if ( $total_product_qty >= 1 && $total_product_qty <= 5 ) {
        $custom_shipping_cost = 60;
    } elseif ( $total_product_qty >= 6 ) {
        $custom_shipping_cost = 90;
    }

    // 更新所有可用运费方式的费用
    foreach ( $rates as $rate_id => $rate ) {
        $rates[$rate_id]->cost = $custom_shipping_cost;
    }
    
    return $rates;
}
  • 保存修改后,进入Woocommerce后台「状态」-「工具」,点击「清除Woocommerce缓存」,同时清空浏览器缓存完成配置。

补充说明:如果担心主题更新会覆盖functions.php的修改内容,可以安装Code Snippets插件,将上述代码作为独立代码片段添加并启用,无需修改主题文件,兼容性更强。

生效验证

  • 往购物车加入3件商品,进入结算页确认运费显示为60美元
  • 往购物车加入6件及以上商品,进入结算页确认运费显示为90美元
  • 后续需要调整运费区间或金额时,直接修改代码中对应的数值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:36:04