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

如何为Woocommerce的「Local Pickup」添加满指定金额免配送费功能

满75美元自动免除本地配送费实现方案

直接在当前主题的functions.php文件中添加自定义代码是最高效的实现方式,无需额外插件,也不用依赖优惠券功能,不会和你现有支持全域发货+本地可选配送的规则冲突。

操作步骤

  • 提前备份站点functions.php文件,避免修改出错影响站点运行
  • 登录WordPress后台,进入「外观」-「主题文件编辑器」,在右侧文件列表选择主题函数(functions.php)
  • 将下方代码粘贴到文件最末尾,保存即可生效
add_filter( 'woocommerce_package_rates', 'wc_free_local_pickup_when_order_over_amount', 10, 2 );
function wc_free_local_pickup_when_order_over_amount( $shipping_rates, $package ) {
    // 可自定义配置项
    $free_shipping_threshold = 75; // 免运费订单门槛金额
    $local_shipping_method_id = 'local_pickup'; // 本地配送方式ID,自定义过可替换
    
    // 获取订单商品总金额
    $order_subtotal = WC()->cart->get_subtotal();
    
    // 订单金额达标时,将本地配送费修改为0
    if ( $order_subtotal >= $free_shipping_threshold && isset( $shipping_rates[$local_shipping_method_id] ) ) {
        $shipping_rates[$local_shipping_method_id]->cost = 0;
        // 同步清空本地配送对应的税费,不需要可删除此行
        $shipping_rates[$local_shipping_method_id]->taxes = array();
    }
    
    return $shipping_rates;
}

补充说明

  • 如果你修改过本地配送方式的默认ID,可在WooCommerce「设置」-「配送」-「对应本地配送区域」中,鼠标悬停在本地配送的编辑按钮上,查看浏览器地址栏的instance_id参数值,替换代码里的local_pickup即可
  • 后续需要调整免运费门槛时,直接修改$free_shipping_threshold的数值即可,操作成本远低于优惠券和插件配置
  • 代码部署完成后,清空WooCommerce缓存和浏览器缓存,用不同金额的测试单验证规则生效即可

内容的提问来源于stack exchange,提问作者L. Hawk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:36:03