Blog

WooCommerce 教學 - Table Rate Shipping Plugin

外掛簡介

WooCommerce Table Rate Shipping 是一個付費的外掛,主要是用來設定複雜的運費計算方式,這個外掛可以根據區域、價格、商品重量、商品數量或是其他條件來設定不同運費,可以說是一個非常靈活好用的外掛。

在閱讀本篇文章之前請先確定您已經了解 WooCommerce 的基本運費設定,如果還不了解可以參考我們之前寫的文章 Woocommerce 教學 – 運送與運費設定


使用方式以及基本設定

跟設定一般運送方式一樣,我們需要先建立運送區域(針對不同地區或國家來設定運費),然後新增運送方式。安裝外掛之後會有 Table Rates 的運送方式可供選擇。

新增運送方式之後可以點選進入內頁設定,幾個基本的設定如下:

Method Title(運送方式名稱)

這是使用者在結帳頁面會看到的運送方式名稱,如果您是用黑貓宅配,可以填入黑貓宅配。

Tax Status(是否計算稅額)

如果您的商店有設定稅額計算的話,可以考慮是否要在運費上加上稅額計算。

Tax included in shipping costs(運費是否含稅)

如果您的運費已經包含稅金,請選擇 Yes,否則選擇 No。

Handling Fee and Maximum Shipping Cost(手續費以及最高運費金額)

如果您的運費需要加上手續費或是設定最高的運費金額上限,可以在這兩個欄位填入適當的數字。


運費設定

Calculation Type (計算方式)

要怎麼計算方式,有下面幾種選項:

  1. 以整個訂單來算運費(per order)
  2. 將每個運送類別拆開計算(calculate rates per shipping class)
  3. 將每個商品拆開計算(calculate rates per item)
  4. 將每個商品總和拆開計算(calculate rates per line item),per line item 跟 per item 不同地方在於,per item 就算是相同商品也會將每個商品拆開計算,per line item 則會將相同商品一起計算。

如果選擇 per order,則系統會顯示所有符合的 Table Rate 運費項目,如果選擇其他,系統則會將所有運費項目加總。

Handling Fee Per [item](每樣商品的手續費)

如果需要在每個商品都設定手續費,可以在這邊設定。

Minimum Cost Per [item](每樣商品的最低運費)

設定每個商品的最低運費。

Maximum Cost Per [item](每樣商品的最高運費)

設定每個商品的最高運費。


Table Rates 設定

這邊應該是最複雜,也最重要的部分。基本上 Table Rates 可以讓你根據不同的條件來設定運費,並且可以設定各種運費組合以及何時停止計算。我們會先解釋每個 Table Rate 運費條目設定的欄位,然後再提供幾個組合範例讓大家參考。

  1. Shipping Class運送類別)- 這項運費條目是否只針對某個運送類別商品來做計算?
    1. 如果沒有可以選擇 Any Class。
    2. 如果只針對沒有設定運送類別的商品,請選擇 No Class。
    3. 如果需要針對某個運送類別,利如“冷凍宅配”,可以選擇冷凍宅配。
  2. Condition(條件)- 選擇這項運費條目的條件,可選擇的有:
    1. Price(價錢)
    2. Weight(重量)
    3. Item Count(商品數量)
    4. Item Count (Same Class)(同運送類別之商品)
  3. Min-Max(最低及最高值)- 設定這項運費條目的條件最低或是最高值。
    1. 範例一:要設定滿額免運費,可以在 Condition 設定 Price,Min 設定免運費的最低金額。
    2. 範例二:要設定不同重量不同運費,可以在 Condition 設定 Weight,Min 跟 Max 設定每個運費區段的最低跟最高重量。
  4. Break(停止計算) - 如果勾選而且這個運送條目的條件符合的話:
    1. Per order 計算,這個運費條目以下的項目將不會被顯示。
    2. 其他計算方式,這個運費條目以下的其他項目將不會被計算。
  5. Abort(放棄運費計算)- 如果勾選而且這個運送條目的條件符合的話,整個運送方式將不會顯示。
  6. Row Cost(條目運費)- 這項運送條目的運費(如果符合條件)。
  7. Item Cost(品項運費)- 每個商品項目的額外運費。
  8. g cost(公克運費)- 每公克的運費。
  9. % cost(百分比運費)- 依照訂單總額的百份比來計算運費。
  10. Label(運費標籤)- 可依照不同運費條目顯示不同運送方式標籤。


狀況題

Q1. 設定滿額免運,滿額免運時不顯示運費選項。

雖然 WooCommerce 的基本運送方式也有免運費選項,但是大家應該會發現,滿額免運選項會跟其他一般運送方式一起顯示,使用者需要自行去選擇免運費的選項才能達到免運費的效果,這個時候我們就可以用 Table Rates 來解決。假設我們一般的宅配運費為 80 元,滿 3,000 則不需要運費,我們可以使用下面的設定方式。

  1. 將計算方式設定為 Per order。
  2. Table Rates 加上兩個運費條目如下圖:

基本上這兩個運費條目的意思就是:

  1. 如果訂單金額(不論運送類別)超過 3,000 元以上,這筆條目的運費為 0,並且停止其他運送計算,然後將運費的名稱改為"滿額免運"。
  2. 如果訂單金額(不論運送類別)低於 3,000元,這筆條目的運費為 80 元。

這樣的設定就可以達成我們要的效果:

滿 3,000 元免運費

未滿 3,000 元運費 80 元

Q2. 將不同的運送類別(例如常溫跟冷藏,冷凍)分開計算,並且針對不同的運送類別設定免運門檻。

如果您的商店是賣食品的話,常常會需要針對商品的運送類別來分開計算運費,有些商品可能需要冷藏運送,有些則是常溫即可,這時候可以先設定好適當的商品運送類別,然後再用 Table Rate Shipping 外掛來做設定。

假設我們想要設定的規則如下:

  1. 常溫商品購物金額 500 以上免運,500 以下運費 70 元。
  2. 冷藏宅配購物金額 1,500 以上免運,1,500 以下運費 150 元。
  3. 冷凍宅配購物金額 1,500 以上免運,1,500 以下運費 150 元。

那我們第一件要做的事情就是到 WooCommerce → 設定 → 運送類別,然後建立以下三個運送類別:

  1. 常溫宅配
  2. 冷藏宅配
  3. 冷凍宅配

建立好運送類別之後,要記得將商品設定為正確的運送類別(可在商品編輯 → 頁面運送方式 → 運送類別做編輯)。

設定商品運送類別

設定好商品運送類別之後,我們就可以回到運送方式這邊新增一個 Table Rate Shipping,注意:Calculate Type 必須為 "Calculated rates per shipping class"。

根據不同運送類別設定免運門檻

這樣設定好之後,系統就會自動根據購物車裡的商品來計算適當的運費,如下面範例:

購物車裡同時有常溫以及冷凍商品,但是都未達免運標準,所以運費為 70 + 150 = $220

購物車裡同時有常溫以及冷凍商品,只有常溫達到免運標準,所以運費為 $150

購物車裡同時有常溫以及冷凍商品,而且兩個都達到免運標準,所以運費為 $0

今天先寫到這邊,之後我們會再補上其他範例,請大家拭目以待。

Update date : 2025.11.07