WPML:如何新增多語言分類 - Mr. 蔡大痣數位轉型顧問 - WordPress網站技術、SEO優化、AI工具導入

文章分類/

WPML:如何新增多語言分類

116 瀏覽
2025-08-24 更新

這篇文章說明如何使用WPML新增多語言分類,第一次使用時,你可能會有一點不習慣,看完這篇你就能理解所有操作了。

1. 新增第一個分類:以關於我們為例

因為加裝了WPML,你會發現原本的新增分類按鈕上面會多了一個語言選單、在分類列表上面也可以快速切換你設定的其他語系。

2. 點擊剛剛新增的分類:關於我們

再一次編輯剛剛的關於我們分類,你可以在描述的下面看到語言區塊,你可以點擊添加你要編輯的語言,這裡我們以英文為例

3. 新增語言的翻譯

接著就會跳轉至英文的分類新增的介面,網址上面也會看到如下的網址

wp-admin/edit-tags.php?taxonomy=category&trid=19&lang=en&source_lang=zh-hant&post_type=post

以及頂端的多語言選單也切換至英語,如下圖

剛剛的分類列表也會自動切換到英語,如下圖

接著回到左邊的畫面,依舊是跟先前新增的分類一樣的欄位

但重點是下面的語言區塊:會指示你現在在翻譯哪一個分類,與你現在翻譯的語言是什麼,

這裡要非常注意,有時候WPML可能會異常跳掉,你可以手動選取回去

本例就是翻譯:關於我們的英語版,在這裡我們會建議代稱(即顯示網址),

可以保持原有的基底語言命名

4. 手動修正分類Slug: 移除語言代碼

由於預設的WordPress是不允許有同名的Slug,因為會自動幫你加上語言代碼(英語=en)

如下

about-us-<語言代碼>
about-us-en

你可以使用快速編輯,移除掉語言代碼: -en

補充:第二種新增語言分類的方法

你可以直接從英文語系的介面直接新增關於我們的翻譯,預設的語言區塊,是不會自動幫你關連(因為這樣沒有關連的依舊,要手動選取,因為網址上面也沒有重要的關連網址參數-trid),

如下圖

這裡有一個重點,假設你沒有正確關連的話,又選擇想要命名同名的網址,

WordPress核心會自動幫你補上語言代碼避免衝突的版本參數

因為對系統來說你在建立不同的分類,所以就會套用預設的規則

如下所示

about-us-en-2 (遇到已存在的版本會自動加類似版本號的數字)

使用WPML的分類翻譯功能

WPML也有提供一個列表式+彈窗翻譯的外掛(比較不用切來切去)

點擊要翻譯的英文語系+,會彈出術語翻譯的視窗。

請注意這裡的別名如果有自動補上語言代碼: -en ,你只要手動移除再儲存即可,就會一次動作。

為什麼「手動移掉 -langcode」後可以並存?

1) WordPress 的唯一性規則其實是「同 taxonomy + 同父層」才檢查

  • WordPress 在建立/更新 term 時會跑 wp_unique_term_slug(),避免同一個 taxonomy、同一個父分類下出現重複的 slug。
  • 對「階層式 taxonomy」(如 category、product_cat),如果兩個 term 不同父層(Parent 不同),就可以有同名 slug。
  • 但即使同父層,通常也會被阻擋(自動加尾碼)。

2) WPML 會把多語的每個翻譯存成「不同的 term」,但它知道它們互為翻譯

  • 翻譯語言是一顆「不同的 term」,WPML 用內部 trid 把它們關聯起來。
  • 建立當下:WP 核心只看到「同一 taxonomy 有相同 slug」→ 為了安全,WPML/核心會先補 -ja-zh-hant 之類尾碼,避免撞名。
  • 你後來手動改 slug(在 WPML 的「分類翻譯」介面輸入與主語言相同的字)時:
    • WPML 會以「翻譯中的同組 term」為語境處理,並在某些路徑上略過或覆寫那個保護性尾碼(沒有資料庫層級的唯一索引,只有程式檢查),所以能成功把 about-ja 改回 about
    • 前台網址仍然不會衝突,因為路徑前有語言資料夾(/en/、/zh-hant/、/ja/),WPML 也會依語言解析到正確的 term。

簡單說:建立時保守防撞 → 事後在「翻譯語境」下,WPML 允許你改回一致的 slug。

快速解法:安裝虎鯨orca-admin外掛

目前虎鯨管理後台orca-admin外掛於1.0.33版本已可以自動處理自動同步基底語言

✦ 虎鯨 OrcaBiz SEO 優化專業團隊 ✦

專業 SEO 公司幫助你將流量累積成看得見的業績,成為長期有效的最強業務!

載入中…
沒有更多相關文章可閱讀