快速答案:樣式被蓋掉,是因為修改直接寫在母主題的檔案裡(style.css、header.php 之類),佈景一更新整個資料夾換新。寫在子主題、外觀 → 自訂 → 附加的 CSS、或 Elementor 全站 CSS 的,都不會被更新蓋掉。但附加的 CSS 是跟著佈景存的,換成別的佈景——包括從母主題切到子主題——就看不到了。
為什麼會這樣 #
「樣式不見」有三種來源,處理方式不同。第一種是真的被蓋掉:有人(常是前一家廠商)直接改了母主題檔案,更新後修改消失。第二種是還在但對不上:佈景或外掛改版換了 HTML 結構或 class 名稱,你的 CSS 找不到元素,看起來像消失。第三種是快取:新 CSS 已生效,瀏覽器、快取外掛或 CDN 還在送舊檔(見快取要清哪幾層)。
附加的 CSS 存在資料庫裡,每個佈景各一份,切換佈景時不會跟過去;選單位置、頁首圖這類自訂器設定也一樣。很多人「剛裝好子主題樣式就全不見」,其實資料都還在母主題名下。
怎麼處理 #
- 先找樣式原本寫在哪。依序看:外觀 → 自訂 → 附加的 CSS(區塊佈景在 外觀 → 編輯器 的樣式裡)、佈景自己的選項面板、Elementor 網站設定的自訂 CSS、子主題的 style.css。都沒有,就是寫在母主題檔案裡被蓋掉了。
- 被蓋掉的:從更新前的備份拿回舊檔,跟新版比對出當初改了哪幾段,把這些修改搬到子主題,不要再改回母主題。
- 剛切到子主題的:暫時切回母主題,把附加的 CSS 複製出來,貼到子主題的附加的 CSS;選單位置與小工具重新指派一次。
- 選擇器對不上的:用瀏覽器開發者工具看新版的 HTML 結構,改寫選擇器。
- 電商站多看一眼:子主題若覆寫了 WooCommerce 範本,到 WooCommerce → 狀態 → 系統狀態,看有沒有列出過期的範本檔,有就照新版重做。
- 往後的原則:少量調整放附加的 CSS 或 Elementor 全站 CSS;牽涉版型或 PHP 範本的放子主題;母主題與外掛的檔案一律不碰。
我們實際遇過的情況 #
我們常接到的是小元素出事:浮動選單的圖示在外掛更新後不見、右下角的 LINE 與臉書按鈕消失、用 CSS 調過位置的警語不見。這類問題不一定是 CSS 被蓋掉,也常是外掛本身出狀況——同一家客戶的社群按鈕外掛,我們就換過不只一次(見浮動聯絡按鈕不見了)。
一家客戶的首頁主視覺突然無法垂直置中,原因是有人把一段 JavaScript 誤貼進 Elementor 的全站自訂 CSS,瀏覽器讀到那裡就亂了,後面的樣式可能跟著失效。另一個站的大選單異常,最後是更新子主題才解決——子主題也要跟著母主題維護。更極端的是整個自製佈景被自動更新覆蓋,見自動更新要不要開。
什麼時候該找人 #
找不到樣式原本寫在哪、更新前又沒有備份;或母主題檔案被改過很多處,分不清哪些是客製、哪些是原廠。這要拿同版本的原始佈景逐檔比對,把客製的部分整理進子主題,在正式站邊試邊改很容易越改越亂。
WPTOOLBEAR網站工具熊