WooCommerce 價格改成台灣習慣:去掉小數點、寫成「450 元」、標示含稅

WooCommerce 價格改成台灣習慣:去掉小數點、寫成「450 元」、標示含稅

最後更新:2026/10/13

WooCommerce 是國外的系統,預設把價格寫成「NT$450.00」。台幣早就不用角和分,後面那兩個零在台灣的客人眼裡有點多餘,看久了還會讓網站顯得像沒調整過的範本。

價格是客人在商品頁停最久的地方之一。這篇從最簡單的後台設定開始,再用三段程式碼處理後台做不到的寫法:「450 元」、「(含稅)」,以及打折之後的零頭。

不想自己改?把這篇交給 AI

把這篇的網址(或全文)連同下面這段話貼給 AI:

我的網站是 WordPress,有裝 WooCommerce。我想照下面這篇文章,把價格改成台灣習慣:去掉小數點、寫成「元」、價格後面標示含稅,打折算出的零頭四捨五入到十位。
請先問我:我有沒有開 WooCommerce 的稅金計算、有沒有低於 5 元的商品、有沒有尺寸顏色這類規格商品。
問清楚之後,再一步一步告訴我:要用哪一段程式碼、貼在哪裡、哪些地方要換成我自己的資料,以及改完怎麼測試。
如果文章的做法不適合我的網站,請直接告訴我原因和替代做法。
文章:(貼上這篇的網址,或整篇內容)

改之前先備份,密碼不要貼給 AI。

第一步:後台把小數位數改成 0

到「WooCommerce > 設定 > 一般」,往下找到「貨幣選項」:

「貨幣」選新台幣;「貨幣位置」決定符號放在數字的哪一邊;「千分位」維持逗號;「小數位數」改成 0。存檔之後,價格就變成「NT$450」,購物車、結帳頁、通知信都會一起改。

小數位數不只影響畫面,WooCommerce 算總金額時也會用它來進位。台幣本來就以元為單位,商品價格也都填整數,設成 0 最單純。很多台灣的網店做到這一步就夠了。

第二步:想寫成「450 元」

如果你的網站整體走親切的風格,「450 元」會比「NT$450」更像台灣店家的說法。WooCommerce 的台幣符號固定是 NT$,後台改不了,要用程式碼換掉:

// 1. 台幣符號改成「元」(搭配後台「貨幣位置:右邊及空白」)
add_filter('woocommerce_currency_symbol', function ($symbol, $currency) {
    return 'TWD' === $currency ? '元' : $symbol;
}, 10, 2);

貼上之後,記得把後台的「貨幣位置」改成「右邊及空白」,價格才會變成「450 元」,不然會變成「元450」。程式碼只在貨幣是台幣的時候換,如果你的網站有多幣別,其他幣別不受影響。

程式碼放在 Code Snippets 這類外掛或子主題,放法和備份方式見〈WooCommerce 結帳頁改成台灣習慣〉。

第三步:價格後面標示「含稅」

台灣的營業稅法規定,賣給一般消費者的定價要內含營業稅。所以台灣的網店通常不會打開 WooCommerce 的稅金計算,商品價格直接填含稅價。問題是,WooCommerce 的「售價顯示後綴」這個設定放在稅金分頁裡,要先勾「啟用稅率及稅額計算」才看得到。只為了顯示兩個字去打開整套稅金計算,反而容易算錯。

用程式碼加後綴,就不用碰稅金設定:

// 2. 價格後面加「(含稅)」小字(免費的商品不加)
add_filter('woocommerce_get_price_suffix', function ($suffix, $product) {
    if ((float) $product->get_price() <= 0) {
        return $suffix;
    }
    return $suffix . ' <small class="mimi-tax">(含稅)</small>';
}, 10, 2);

商店列表和商品頁的價格後面會多出一行小字「(含稅)」。免費的商品寫「0 元(含稅)」很奇怪,所以價格是 0 的時候跳過。後綴只出現在商品的價格旁邊,購物車和結帳頁的金額不會加,這是 WooCommerce 原本的設計,剛好也不會顯得囉嗦。

第四步:打折算出零頭,四捨五入到十位

用百分比打折,很容易算出奇怪的價格:980 元打 85 折是 833 元。商品頁寫著 833 元,看起來不像特價,像是計算機按出來的。如果是你自己一件一件設定特價,直接填 830 就好;如果特價是外掛或批次功能算出來的,可以用這段把價格統一進位:

// 3. 打折算出來有零頭的價格,四捨五入到十位(實際收的錢也一起改)
function mimi_round_ten($price) {
    return $price === '' ? $price : (string) (round((float) $price / 10) * 10);
}
add_filter('woocommerce_product_get_price', 'mimi_round_ten', 20);
add_filter('woocommerce_product_get_sale_price', 'mimi_round_ten', 20);
add_filter('woocommerce_product_variation_get_price', 'mimi_round_ten', 20);
add_filter('woocommerce_product_variation_get_sale_price', 'mimi_round_ten', 20);
// 有規格的商品,列表上的「價格範圍」另外算,也要一起處理
add_filter('woocommerce_variation_prices_price', 'mimi_round_ten', 20);
add_filter('woocommerce_variation_prices_sale_price', 'mimi_round_ten', 20);

這段改的是 WooCommerce 讀到的價格,畫面和實際收的錢會一起變。我們在測試站把特價設成 833 元,商品頁顯示 830 元,放進購物車也是 830 元,加上 80 元運費,總計 910 元,客人實際付的錢和看到的一致。

最後兩行是給有規格(例如尺寸、顏色)的商品用的。這種商品在商店列表上顯示的是「最低價到最高價」的範圍,WooCommerce 用另一套方式算。我們第一次測試只寫了前四行,結果列表上寫「833 元 – 1,233 元」,選了規格、放進購物車卻是 830 元,兩邊對不起來;補上最後兩行,範圍才變成「830 元 – 1,230 元」。有規格商品的店,改完要特別看一眼列表上的範圍。

網路上另一種常見的寫法,是把「所有印出來的金額」都四捨五入。這樣連運費、總計也會被改寫,例如運費 85 元畫面上變成 90 元,實際收的還是 85 元,客人刷卡時看到的金額就和網頁上對不起來。所以這裡只改商品價格本身,其他金額照實際算出來的顯示。

用之前要注意兩件事。第一,所有商品的價格都會被進位,賣 3 元貼紙、5 元小配件的店不適合,4 元會變成 0 元、5 元會變成 10 元。第二,它管的是商品的價格,折價券打折算出來的零頭不在範圍內,折價券最好用固定金額,或選打完折剛好是整數的折扣。

改完從頭買一次

價格出現在商店列表、商品頁、購物車、結帳頁、通知信、後台訂單,改完每一處都要看。最簡單的檢查方法,是用無痕視窗當一次客人,從商品頁一路買到收到通知信,把看到的每個數字對一遍。

價格寫法是網站「像不像台灣的店」最直接的細節。從「NT$450.00」改成「450 元(含稅)」,客人不會特別注意到,但會覺得這家店比較好溝通。

如果你想讓整個網店從價格、運費到結帳都符合台灣客人的習慣,可以先看〈IG 帳號不是你的資產〉想想網站要做到什麼。MIMI 專做客製化網頁設計,購物車電商網站可以從價格顯示到結帳流程一起規劃。MIMI 提供台灣網頁設計服務,各縣市的店家都可以用電話、Email 和設計師討論;費用可以先看首頁的製作費用參考,歡迎聯絡 MIMI。

WooCommerce 商品頁加客製欄位:讓客人填刻字內容、自動加價、寫進訂單
WooCommerce 商品網址怎麼設:中文網址變亂碼、改網址前要知道的事、商店頁藏起某個分類

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

我的車
願望清單
最近瀏覽過的
類別