一、理解配送区域
快递公司寄包裹时,同城一个价、跨省一个价、国际又是一个价。WooCommerce 的配送区域(Shipping Zone)做的就是这件事:按客户地址匹配到对应的区域,然后显示该区域的运费选项。

三个核心规则:
- 每个客户只匹配一个区域–从上到下按顺序匹配,命中第一个就停止
- 每个区域可以挂多个配送方式(统一运费、免运费、本地自提等)
- 匹配不到任何区域的客户走 Rest of the World(世界其他地区)这个默认区域。该区域不可移动、重命名或删除
⚠️ 区域排序是第一翻车点:必须从最小地理范围到最大排列。比如 Local(邮编 90210)排在 Domestic(全美国)上面,否则客户会先命中 Domestic,永远看不到 Local 的免运费选项。
二、创建配送区域
📌 前置:先去 WooCommerce -> 设置 -> 常规,确认 Shipping location(s) 已按业务范围配好(比如不能勾选 Disable shipping)。
🌍 2.1 添加新区域
进入 WooCommerce -> 设置 -> 配送 -> 配送区域

点击 Add zone
输入区域名称,如
Domestic USA
在 Zone regions 选择地区:可以选国家、州省或大洲
- 可选:点击 Limit to specific zip/postcodes,按邮编进一步限定
- 添加配送方式(下一节讲)
- 点击 Save changes
📮 2.2 邮编限定规则
邮编字段支持三种写法,每行一个:
- 具体邮编:
90210 - 数字范围:
90210...99000(三个英文句点) - 通配符:
902*(匹配 90210、90288 等)
💡 通配符是含字母邮编的推荐写法。比如英国邮编
CB2*可以匹配 CB2 3AA 和 CB23 1EX。注意通配符不能用在范围写法里(902*…990*不支持)。
🔄 2.3 排序与编辑
区域列表可以通过拖拽调整顺序。点击 Edit 修改区域设置,点击 Delete 删除区域。
💡 如果你想排除某些地区不配送,创建一个只包含该地区的区域,但不添加任何配送方式。客户匹配到这个区域后会看到 “No shipping methods available”。
三、统一运费(Flat Rate)
统一运费是最常用的配送方式:不管买几件,运费按你设的规则算。
💰 3.1 添加统一运费
- 在配送区域页面,点击目标区域的 Edit
- 点击 Add shipping method

选择 Flat Rate,点击 Continue

填写以下字段:
- Name:客户在结账页看到的名称,如
Standard Shipping - Tax Status:运费是否计税(选 Taxable 或 None)
- Cost:基础运费,如
10.00 - 点击 Create

📐 3.2 高级运费公式
Cost 字段不只是填数字,还支持公式:
按数量计费:基础运费 + 每件加价。在 Cost 填 10 + ( 2 * [qty] )
| 购物车件数 | 运费 |
|---|---|
| 1 件 | $12 |
| 2 件 | $14 |
| 3 件 | $16 |
按订单总额百分比:基础运费 + 订单总额的 X%。填 10 + [fee percent="10"]
| 订单总额 | 运费 |
|---|---|
| $10 | $11 |
| $20 | $12 |
| $30 | $13 |
带最低费用限制:确保百分比运费不低于某个值。填 10 + [fee percent="10" min_fee="4"]
四、免费配送(Free Shipping)
满额包邮是提高客单价最有效的手段之一。
🎁 4.1 添加免费配送
- 在配送区域页面,点击目标区域的 Edit
- 点击 Add shipping method
- 选择 Free Shipping,点击 Continue
- 填写 Name,如
Free Shipping over $50 - 在 Free Shipping Requires 下拉选择触发条件:
| 选项 | 含义 |
|---|---|
| No requirement | 该区域所有客户免运费 |
| A valid free shipping coupon | 需要输入免运费优惠券 |
| A minimum order amount | 满额免运费 |
| A minimum order amount OR a coupon | 满额 或 用优惠券 |
| A minimum order amount AND a coupon | 满额 且 用优惠券 |
- 如果选了满额条件,在 Minimum Order Amount 填入金额,如
50 - 点击 Create

🎫 4.2 满额判断与优惠券
满额判断有一个细节:用折扣前还是折扣后的金额?
举个能看出差别的例子:免运费门槛 $50,客户订单 $60,用了减 $20 的优惠券。
- 不勾选 Apply minimum order rule before coupon discount:用折扣后金额判断。$60 – $20 = $40,不满足 $50,不免运费
- 勾选:用折扣前金额判断。虽然实付只剩 $40,但原始金额 $60 满足门槛,照样免运费
💡 如果你想让优惠券不影响免运费门槛,就勾选。想让客户实付金额达到门槛才免运费,就不勾。
🏷️ 4.3 创建免运费优惠券
- 进入 WooCommerce -> 营销 -> 优惠券
- 点击 Add Coupon
- 勾选 Allow Free Shipping
- 点击 Publish
客户结账时输入该优惠券码,即可获得免运费。
五、本地自提(Local Pickup)
如果你有实体店或仓库,可以让客户自己来取货,省掉配送环节。
🏪 5.1 添加本地自提
- 在配送区域页面,点击目标区域的 Edit
- 点击 Add shipping method
- 选择 Local Pickup,点击 Continue
- 填写 Name,如
Local Pickup - Tax Status:默认用商店地址计算税费
- 可选:在 Cost 填入自提手续费(大多数情况留空)
- 点击 Create

⚠️ 自提选项必须放在正确的配送区域里。如果你只想让特定邮编的客户自提,就创建一个限定邮编的区域,把 Local Pickup 放进去,并排在上面的位置。
六、配送类别(Shipping Class)
当你的产品重量差异大(比如同时卖 T 恤和哑铃),统一一个运费不合理。配送类别就是给产品分组,每组收不同运费。
📦 6.1 创建配送类别
- 进入 WooCommerce -> 设置 -> 配送 -> 配送类别

- 点击 Add new shipping class
- 填写:
- Name:如
Heavy Items - Slug:如
heavy-items - 可选:描述
- 点击 Add shipping class
重复创建你需要的类别,比如 Heavy Items、Light Items、Free Shipping Items。
🏷️ 6.2 给产品分配配送类别
- 进入 产品 -> 所有产品,编辑产品
- 在 Product Data 面板,点击 Shipping 标签
- 在 Shipping class 下拉选择对应类别
- 填写产品的 Weight(重量)和尺寸
- 点击 Update

🔗 6.3 配送类别与统一运费结合
回到配送区域的 Flat Rate 设置,如果你已创建配送类别,编辑 Flat Rate 时会多出每个类别的费用字段:
- 将顶部 Cost 设为
0.00(只按类别收费) - 为每个类别设费用,如:
- Heavy Items:
10.00 - Light Items:
2.00 - Free Shipping Items:
0.00 - 选择 Calculation Type:
- Per Class:每个类别单独计费,累加。重物 $10 + 轻物 $2 = $12
- Per Order:只收最贵类别的费用。重物 $10 + 轻物 $2 = $10
💡 Per Order 适合”一个包裹发出去”的场景,Per Class 适合”不同类别产品分开发货”的场景。
七、全局配送设置
还有一些全局开关影响配送行为。
⚙️ 7.1 配送选项
进入 WooCommerce -> 设置 -> 配送 -> 配送选项:

- Enable the shipping calculator on the cart page:购物车页显示运费计算器,客户输入邮编预估运费
- Hide shipping costs until an address is entered:客户输入地址前隐藏运费,避免显示不准确的默认费率
- Hide shipping rates when free shipping is available:有免运费选项时,隐藏其他付费运费选项,避免客户纠结
- Shipping destination:默认配送到账单地址还是配送地址
- Debug mode:调试模式,前台会显示客户匹配到的配送区域,排查运费问题时打开,排查完关掉
⚠️ Debug mode 开启时,前台会向所有访客显示配送调试信息。排查完一定要关掉,不要在正式环境长期开启。


















- 最新
- 最热
只看作者