快速答案:多語外掛大版本更新後語言切換器消失、點了沒反應或跑版,通常是四件事之一:切換器的設定在新版被重置或搬了位置、附加模組(字串翻譯、媒體翻譯、WooCommerce 模組)版本沒跟上主程式、頁首模板被更新蓋掉、或優化外掛把切換器的 JavaScript 延遲了。先清快取,再到多語外掛的語言設定把切換器重新儲存一次,很多時候就恢復;不行就退回前一版,等相容更新。
為什麼會這樣 #
語言切換器是多語外掛裡跟佈景、頁首模板耦合最深的東西:它可能插在選單裡、頁首小工具區、Elementor 模板的一個小工具,或是佈景自己呼叫外掛的函式畫出來。外掛大版本更新常會改切換器的輸出方式或設定結構,舊設定沒被正確轉換,切換器就不見了或退回預設樣式。
另一個常見原因是模組版本不一致:WPML 本體更新了,字串翻譯、WooCommerce Multilingual 還是舊版,後台通常會有警告,前台的症狀就是切換器消失或切了語言不換內容。至於「切換器在但點了沒反應」,多半是下拉式切換器依賴的 JavaScript 被快取或優化外掛延遲載入,跟多語外掛本身無關。Google 翻譯型的切換器則另有一種壞法:它依賴外部服務,服務端改了介面就整個失靈。
怎麼處理 #
- 清三層快取(多語外掛自己的、快取外掛、CDN),無痕視窗重看。更新後看到的常常是舊快取。
- 把所有相關模組更新到相容版本。WPML 本體、字串翻譯、媒體翻譯、WooCommerce Multilingual 要一起更新;後台有版本不符的警告先處理掉。Polylang 與 Polylang for WooCommerce 同理。
- 語言設定裡重新儲存切換器。WPML → 語言 → 語言切換器選項,看選單切換器、頁尾切換器、小工具切換器各自還在不在,缺的重新加回、按儲存。
- 檢查頁首模板。Elementor 頁首或佈景頁首若在更新時被重建,切換器小工具可能被移除;每種語言的頁首模板都要看。切換器跟著整個選單一起不見的,多半是選單顯示位置的問題,見選單不見那篇。
- 點了沒反應的:暫時關掉優化外掛的「延遲 JS」或把切換器腳本排除,再測。
- 都不行就退版。從更新前的備份還原,或把多語外掛退回前一版,先讓網站正常,再到測試站找出相衝的組合。作法同更新後 Elementor 打不開那篇。
我們實際遇過的情況 #
一個網站的語言切換器讓頁首跑版,這類先看切換器插在哪裡、用的是哪種樣式(見翻譯後跑版那篇);多語外掛與 Elementor 版本不合、編輯器一直轉圈的例子,見更新後 Elementor 打不開。另一個網站原本用 Google 翻譯的切換工具,某天語言切不過去,最後改用外掛處理——依賴外部服務的切換器,壞的時候網站這端能做的很有限。
什麼時候該找人 #
切換器壞掉的同時,翻譯內容也跟著消失或錯亂(英文網址顯示中文內容、商品變化對不上),代表更新時資料庫轉換沒跑完,這時繼續在後台按東按西可能把翻譯關聯弄壞;退版也要先確認備份能還原。所以多語外掛的大版本更新,我們會先在測試站把每個語言跑過一遍,再動正式站。
WPTOOLBEAR網站工具熊