View Categories

WPML 多語選單怎麼建?各語言一套、同步要手動

< 1 分鐘閱讀

快速答案:WPML 底下每種語言都是一套獨立的選單,共用同一個「主選單」顯示位置,訪客切語言時 WPML 自動換。建法是先把預設語言的選單做完整,再用 WPML 的「WP 選單同步」把結構複製到其他語言;沒翻譯的頁面不會出現在那個語言的選單裡,所以順序是先翻頁面、再同步選單。Elementor 的 mega menu 則是模板,每種語言要各有一份。

為什麼會這樣 #

WordPress 的選單本身就是一種內容,WPML 把它跟頁面一樣當成「可翻譯的物件」:每種語言有自己的選單,各自有名稱、項目和順序,只是共用同一個顯示位置。這個設計的好處是每個語言可以有不同的項目(某個語言少一個分類、另一個語言多一個經銷商頁);壞處是它不會自動幫你維持一致,中文加了一頁,其他語言的選單不會自己長出來。

三個最常見的誤會:第一,在中文後台的「外觀 → 選單」看不到英文選單,是因為後台上方的語言切換器還停在中文,不是選單不見了。第二,同步時某些頁面被跳過,是那幾頁在該語言還沒有翻譯版,選單只能連到存在的頁面。第三,語言切換後選單整個消失,通常是該語言的選單沒有勾選「顯示位置」,或者換了頁首模板後位置名稱變了。

怎麼處理 #

  1. 先把預設語言的選單做到定案。結構、順序、子選單都確定,再往其他語言複製;之後每次改都從預設語言改起。
  2. 確認要出現在選單裡的頁面都已翻譯並發布。WPML → 翻譯管理裡看狀態,沒翻的先翻,不然同步時會被略過。
  3. WPML → WP 選單同步:勾選要同步的選單與語言,它會列出將新增、刪除、移動的項目,看過再確認。自訂連結的文字會列在字串翻譯裡,記得去翻。
  4. 到每個語言的「外觀 → 選單」檢查顯示位置:用後台上方的語言切換器切過去,確認該語言選單有勾主選單位置。
  5. Elementor 或 mega menu 外掛做的選單:那是模板不是 WordPress 選單,每種語言要各有一份模板;WPML 支援翻譯 Elementor 模板,但同步結構要手動。
  6. 改完清快取,並用無痕視窗切每一種語言看一次,手機版也看。

我們實際遇過的情況 #

一家有海外經銷通路的公司,各語言市場的產品線不同,我們替他們規劃成部分語言用新版選單、其他語言沿用舊版,同一個位置、不同語言掛不同結構,這正是 WPML 每語言獨立選單的用途。同一個站後來要替其中一個語言新增 mega menu,流程是客戶先建好該語言的頁面、翻譯改完,我們再把那個語言的模板掛上去,順序反了就會有一堆連到空頁的項目。另一次是某個語言的選單整個不見,這時先切到該語言的後台,看選單還在不在、有沒有勾顯示位置。翻譯完前台沒出現的其他情況,見WPML 翻譯沒顯示那篇

什麼時候該找人 #

語言超過三種、選單結構各語言不同、或用 mega menu 外掛搭 Elementor 模板,這種站每加一個項目就要在好幾份模板裡各做一次,漏一份就有一個語言壞掉;多語外掛或 mega menu 外掛大版本更新後選單跑掉,多半是相容性問題,自己硬調 CSS 蓋不住。

常見問題 #

為什麼在後台看不到英文選單? #

後台上方的語言切換器還停在中文。切到英文後,外觀→選單才會列出英文的選單。

選單同步後為什麼少了幾個項目? #

那幾頁在該語言還沒有翻譯版,選單只能連到存在的頁面;先翻譯並發布,再同步一次。

換了頁首後某個語言的選單不見了? #

通常是該語言的選單沒勾新的顯示位置,切到該語言的選單設定重新勾選即可。

多語站的選單與翻譯想有人每月幫你顧著:網站守護方案。要規劃或重做多語架構:架站與整合