找我們做網站
↑
Woocommerce · WooCommerce 外掛

WooCommerce 免運費設定教學:滿額免運、免運券與隱藏其他運費(2026)

WooCommerce 外掛發布 2019.06.14更新 2026.10.02閱讀約 9 分鐘
WooCommerce 免運費設定教學:滿額免運、免運券與隱藏其他運費(2026)

重點整理
WooCommerce 內建的「免費運送」就能做到滿額免運和免運券:在運送區域新增免費運送,設定最低訂購金額或折價券條件即可。但顧客達到門檻時,結帳頁仍會同時列出付費運送,預設還是選在付費那一項;要自動只留免運,可以加一段程式碼,或安裝 Advanced Free Shipping 外掛。這篇用 WooCommerce 11.1 示範商店實際設定一次。

「滿 1,500 元免運」是網路商店最常見的促銷方式,可以提高客單價,也讓顧客更願意下單。WooCommerce 本身就有免運功能,不一定要裝外掛;但很多站長設定完才發現,顧客湊到門檻後,結帳頁還是要自己從「宅配」和「免運費」裡選一個,沒注意就多付了運費。這篇從後台設定、前台實測,到隱藏其他運費的兩種做法,一步一步說明。

WooCommerce 免運要裝外掛嗎?

大部分情況不用。WooCommerce 內建的「免費運送」運送方式支援四種條件:

  • 有效的免運折價券:顧客輸入有勾選「允許免運費」的折價券才免運。
  • 最小訂購金額:購物車達到指定金額就免運,例如滿 1,500 元。
  • 達到最低訂單金額或使用折價券:兩個條件符合一個就免運。
  • 達到最低訂單金額且使用折價券:兩個條件都要符合。

如果免運條件要依商品分類、重量、會員身分、郵遞區號來判斷,內建功能就不夠用,這時才需要外掛,後面會介紹。

步驟一:在運送區域新增「免費運送」

到 WordPress 後台「WooCommerce → 設定 → 運送方式」,點進要設定的運送區域(還沒建立區域的話,先看WooCommerce 運送區域設定教學)。示範商店建立了「台灣本島」區域,地區選「台灣」,裡面已經有一個固定運費 100 元的「宅配」。

點下方「新增運送方式」,選擇「免費運送」後儲存,列表就會多一列免運費,右邊的開關要保持啟用。

運送區域「台灣本島」的設定頁,運送方式列表中有宅配與免運費兩種,都是啟用狀態
運送區域「台灣本島」的設定頁,運送方式列表中有宅配與免運費兩種,都是啟用狀態

步驟二:設定免運門檻(滿額或免運券)

在免運費那一列點「編輯」,會跳出設定視窗:

  1. 名稱:顧客結帳時看到的文字,例如「免運費」或「滿額免運」。
  2. 如要享有免運的話需要:選擇前面提到的四種條件之一。示範選「達到最低訂單金額或使用折價券」,滿額或有免運券都能免運。
  3. 最低訂購金額:輸入門檻金額,只填數字,示範填 1500。
  4. 折價券折扣:勾選「在使用折價券折扣前套用最低訂單金額規則」,代表用折扣前的金額判斷門檻;不勾則用折扣後的金額。例如買 1,600 元、用了 200 元折價券,不勾的話只剩 1,400 元,就不符合免運。
免費運送的設定視窗,名稱填免運費,條件選達到最低訂單金額或使用折價券,最低訂購金額填 1,500
免費運送的設定視窗,名稱填免運費,條件選達到最低訂單金額或使用折價券,最低訂購金額填 1,500

如果要發「免運券」,到後台「WooCommerce → 折價券」新增折價券,在「一般」分頁勾選「允許免運費」,再搭配上面的條件設定就能生效。折價券的其他設定可以參考WooCommerce 折價券教學。

步驟三:到前台檢查購物車與結帳頁

設定完一定要用顧客的角度實際測試。示範商品「手作陶瓷馬克杯」一個 680 元,先放 2 個(1,360 元)到購物車:還沒達到 1,500 元門檻,運費顯示宅配 NT$100。

購物車小計 1,360 元,未達免運門檻,運費顯示宅配 100 元,總金額 1,460 元
購物車小計 1,360 元,未達免運門檻,運費顯示宅配 100 元,總金額 1,460 元

再加到 4 個(2,720 元)進入結帳頁,「運送選項」會同時出現「宅配 NT$100」和「免運費 免費」兩個選項,而且預設選在宅配,右邊訂單摘要也還加著 100 元運費。顧客如果沒注意就直接下單,反而多付了運費。

結帳頁小計 2,720 元已達門檻,運送選項同時列出宅配 100 元與免運費,預設仍選在宅配
結帳頁小計 2,720 元已達門檻,運送選項同時列出宅配 100 元與免運費,預設仍選在宅配

這就是很多站長覺得「免運設定沒生效」的原因:其實免運已經出現,只是 WooCommerce 不會自動幫顧客選、也不會隱藏其他付費運送。解決方法有兩種,選一種就好。

做法一:加一段程式碼,有免運時只顯示免運

不想多裝外掛的話,可以用 WooCommerce 的 woocommerce_package_rates 過濾器,在有免運選項時把其他運送方式移除。程式碼放在子佈景主題的 functions.php,或用 Code Snippets 這類程式碼片段外掛加入:

add_filter( 'woocommerce_package_rates', function ( $rates ) {
	$free = array();
	foreach ( $rates as $id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $id ] = $rate;
		}
	}
	return $free ? $free : $rates;
}, 100 );

加入後同樣放 4 個商品到結帳頁,運送選項只剩「免運費」,訂單摘要也直接顯示免費,顧客不用再自己選。

加入程式碼後的結帳頁,達到門檻時運送選項只剩免運費,訂單總計 2,720 元不含運費
加入程式碼後的結帳頁,達到門檻時運送選項只剩免運費,訂單總計 2,720 元不含運費

注意這段程式碼會把同區域的所有付費運送都藏起來,包括超商取貨。如果希望達到門檻後,顧客仍能選「超商取貨免運」或「宅配免運」,就要另外建立對應的免運方式,或改用條件更細的外掛(例如Conditional Shipping and Payments)。修改程式碼前請先備份網站。

做法二:用 Advanced Free Shipping 外掛設定進階條件

Advanced Free Shipping for WooCommerce 是免費外掛,可以用購物車金額、商品數量、商品分類、運送類別、重量、郵遞區號、縣市、使用者角色等條件組合出免運規則,並內建「有免運時隱藏其他運送方式」的選項,不用寫程式。

2026 年 10 月我們查到的外掛狀態:

  • 仍可在 WordPress.org 下載,版本 1.1.7.1,約 4 萬個網站使用。
  • 最後一次功能更新是 2024 年 1 月(修正 PHP 8.2 相容性),2025 年 10 月的更新只改了外掛名稱。
  • 官方標示只測試到 WordPress 6.8、WooCommerce 8.4,目前最新已是 WordPress 7.1、WooCommerce 11.1。
  • 沒有繁體中文翻譯,設定畫面是英文。

我們在 WordPress 7.1.2、WooCommerce 11.1.2 的示範站實際安裝測試,功能仍可正常運作,但因為已久未更新,建議能用內建功能解決就先用內建,真的需要分類、重量等進階條件時再考慮它,並在正式站使用前先於測試站確認。

建立免運規則

安裝並啟用外掛後,到「WooCommerce → 設定 → 運送方式」,上方會多一個「Advanced Free Shipping」分頁:

  1. 勾選「Enable the Advanced Free Shipping rates」啟用外掛的免運規則。
  2. 勾選「Hide other shipping methods when free shipping is available」,有免運時自動隱藏其他運送方式。
  3. 點「Add Free Shipping rate」新增一條規則。

在規則編輯畫面設定條件,例如第一欄選「Subtotal」(小計)、第二欄選「Greater or equal to」(大於或等於)、第三欄填 1500;「Shipping title」填前台顯示的名稱,例如「滿額免運」,最後按「發佈」。

Advanced Free Shipping 規則編輯畫面,條件設為 Subtotal 大於或等於 1500,運送名稱填滿額免運
Advanced Free Shipping 規則編輯畫面,條件設為 Subtotal 大於或等於 1500,運送名稱填滿額免運

條件的邏輯是:同一個群組裡的條件要「全部符合」,點「Add condition」可以再加條件,例如小計滿 1,500「而且」商品數量大於 2;點「Add ‘Or’ group」新增另一個群組,代表「或者」,例如「滿 1,500」或「購買指定分類的商品」都免運。

設定完成後實際測試,達到門檻時結帳頁只會顯示外掛的「滿額免運」:

使用 Advanced Free Shipping 外掛後的結帳頁,運送選項只顯示滿額免運,其他運送方式已隱藏
使用 Advanced Free Shipping 外掛後的結帳頁,運送選項只顯示滿額免運,其他運送方式已隱藏

使用外掛時,記得把運送區域裡內建的「免費運送」關掉或刪除,避免兩種免運規則同時存在、前台出現兩個免運選項。

常見問題

為什麼設定了免運費,結帳時還是收運費?

通常是免運選項有出現,但預設選在付費運送。WooCommerce 不會自動切換到免運,要用本文的程式碼或 Advanced Free Shipping 外掛隱藏其他運送方式;另外也要確認顧客的地址屬於設定了免運的運送區域。

滿額免運是用折扣前還是折扣後的金額計算?

預設是用折扣後的金額。若希望用折扣前的金額判斷,在免費運送設定中勾選「在使用折價券折扣前套用最低訂單金額規則」。

可以只讓某些商品免運嗎?

內建功能做不到,只能用金額或折價券判斷。要依商品或分類設定免運,可以用 Advanced Free Shipping 的「Contains product」「Category」等條件,或其他支援運送類別條件的運費外掛。

結語

WooCommerce 的免運設定可以分兩層來看:門檻用內建的「免費運送」就能完成,滿額、免運券都支援;真正要處理的是「達到門檻後還列出付費運送」,用一段程式碼或 Advanced Free Shipping 外掛就能讓結帳頁只留免運。設定完成後,記得用未達門檻和已達門檻兩種購物車,實際到前台結帳頁各走一次,確認顧客看到的運費正確。

鵠學苑・鵠崙設計鵠崙設計 2014 年成立,專注 WordPress 網站開發,400 多個網站在我們自己的主機上運作。鵠學苑的文章由團隊實際操作後整理,工具與外掛的功能以撰文當時為準。
鵠崙設計

不想自己摸索,
就交給我們做。

外掛設定、主機效能、改版搬家,這裡寫的每一件事,都是我們每天在客戶網站上做的工作。留下需求,1 個工作天內回覆。