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

如何在WooCommerce中实现用户首单自动免运费功能

WooCommerce 客户首单自动免运费实现方案

实现核心逻辑为:判断用户是否存在有效历史订单,无有效历史订单的用户结算时自动将运费成本置为0,全程不需要用户输入优惠码。

方法1:代码片段实现(无额外插件,推荐)

无需安装额外插件,直接将代码插入对应位置即可生效:

  • 操作路径:将下方代码添加到当前使用主题的functions.php文件末尾,也可以通过自定义代码片段插件插入,避免主题更新后代码被覆盖。
// 首单自动免运费规则
add_filter( 'woocommerce_package_rates', 'wc_first_order_free_shipping', 10, 2 );
function wc_first_order_free_shipping( $rates, $package ) {
    // 仅针对登录用户生效,如需支持游客可自行扩展cookie判断逻辑
    if ( ! is_user_logged_in() ) return $rates;
    
    $user_id = get_current_user_id();
    // 统计当前用户已完成的订单数量
    $order_count = wc_get_customer_order_count( $user_id );
    
    // 无已完成订单判定为首单,免除运费
    if ( $order_count === 0 ) {
        foreach ( $rates as $rate_key => $rate ) {
            // 运费成本设为0
            $rates[$rate_key]->cost = 0;
            // 可选:修改运费标签提示用户首单优惠
            $rates[$rate_key]->label .= ' *首单免运费';
            // 同步清空运费相关税费
            $taxes = array();
            foreach ( $rate->taxes as $key => $tax ) {
                $taxes[$key] = 0;
            }
            $rates[$rate_key]->taxes = $taxes;
        }
    }
    return $rates;
}

// 清空运费缓存确保规则实时生效
add_action( 'woocommerce_update_cart_action_cart_updated', 'clear_shipping_cache_after_update' );
function clear_shipping_cache_after_update() {
    if ( is_checkout() || is_cart() ) {
        WC()->cart->calculate_shipping();
    }
}
  • 注意事项:
    • 如需支持游客首单免运费,可以新增cookie逻辑:用户首次下单后设置长期有效cookie,后续访问判断存在该cookie则不触发免运费规则
    • 添加代码后清空WooCommerce缓存、浏览器缓存再测试,避免旧运费缓存影响验证结果
    • 可自行调整订单统计逻辑,比如排除已取消、待付款的订单,仅统计已付款/已完成的有效订单

方法2:插件实现(适合无代码基础用户)

无需写代码,通过可视化配置即可实现:

  • 安装免费的Advanced Free Shipping插件
  • 进入插件规则配置页,新建一条免费运费规则
  • 触发条件选择User > Customer order count,值设置为0
  • 运费规则设置为0元,优先级调整为最高
  • 保存配置后即可生效

测试验证步骤

  • 新建无历史订单的测试账号,加购商品进入结算页,确认运费自动变为0且显示对应提示
  • 用该测试账号下单并标记为已完成,再次加购结算,确认运费恢复正常收费即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:39:03