changeset

你有試過在 WordPress 後台拖一拖選單排序,儲存之後,前台導航列忽然少了一整排,甚至整個選單變成空白嗎?這種情況在 2026 年的今天依然常見,尤其當網站裝了多個外掛、選單又用上自訂連結(custom link)的時候。問題很多時不是出在「你手殘」,而是藏在資料庫裡一個叫 changeset 的暫存記錄,以及一組名為 nav_menu_item 的資料結構。以下用香港站長的角度,把這件事拆開來講清楚。

選單儲存那一刻,WordPress 到底做了甚麼?

當你在「外觀 → 選單」按「儲存選單」,WordPress 並不是直接改寫資料庫。它會先建立一個 changeset(改動集),把這次的選單結構寫成一個暫存版本,再透過 REST API 或傳統表單提交,最後才套用到正式資料。換句話說,changeset 是「未確認的草稿」,nav_menu_item 才是「已生效的正式記錄」。

問題來了:如果儲存過程中瀏覽器中斷、主機回應超時,或者有外掛攔截了 REST API 請求,changeset 有機會停留在「未完成」狀態。前台讀取選單時,就可能拿到一份殘缺或過期的資料,於是出現「後台看得到、前台唔見咗」的鬼故情節。

拆解 nav_menu_item:那些 1899661627 之類的數字從何而來

如果你曾經匯出資料庫,或者看過 WordPress 的選單資料,會見到類似 nav_menu_item[1899661627] 的鍵名。這一串數字是該選單項目的唯一 ID,通常由資料庫自動遞增產生,並非隨機亂碼。每一個項目裡面,會記錄幾個關鍵欄位:

  • object_id:指向實際內容的 ID。若是自訂連結(custom link),這裡多數是 0,因為它不屬於任何文章或頁面。
  • type:選單項目的類型,例如 post_type、taxonomy 或 custom,自訂連結就是 custom。
  • url:該項目連往的網址。自訂連結會直接填在這裡。
  • menu_item_parent:上層項目的 ID,用來建立下拉選單的層級關係。
  • position:排序位置。2026 年的 WordPress 已多數改用選單內排序,這個欄位的重要性比早年低,但舊資料仍可能保留。
  • status:發布狀態,正常顯示為 publish。

所以,當你見到一堆看似亂碼的數字,其實那是選單的「身份證號碼」。理解這一點,排查選單問題時就不會一頭霧水。

2026 年常見疑問:選單壞掉一定是 changeset 的錯嗎?

不一定。changeset 只是其中一個可能。以下是這幾年較常遇到的幾種情況,你可以按次序檢查:

1. 外掛衝突攔截了儲存請求

部分快取、安全性或頁面編輯外掛,會改寫 REST API 的回應。若你最近裝了新外掛才出現問題,可先停用該外掛再試儲存選單。

2. 主題更新後選單位置未重新指派

2026 年的區塊主題(block theme)愈來愈普遍,選單位置改由 theme.json 或區塊設定控制。主題更新後,舊的 menu location 有機會失效,前台自然顯示不到選單。這時要回到「外觀 → 編輯器」重新確認導航區塊的設定。

3. 瀏覽器或主機的暫存資料過期

先清除瀏覽器快取與網站快取,再用無痕模式查看前台。很多「選單消失」的個案,其實只是快取未更新。

4. 資料庫中的 changeset 殘留

若以上都試過仍未解決,可請技術人員檢查資料庫中是否有未完成的 changeset 記錄。注意:直接修改資料庫有風險,動手前務必先備份。

給香港站長的實用排查步驟

與其每次出事都靠猜,不如建立一套固定流程。以下步驟適用於大部分 WordPress 網站:

  • 先備份資料庫與網站檔案,這一步不能省。
  • 停用最近新增或更新的外掛,再重新儲存選單。
  • 切換到預設主題(例如 Twenty Twenty-Six)測試,以判斷是否主題問題。
  • 清除所有快取,包括主機層、CDN 與瀏覽器。
  • 檢查選單是否已指派到正確的顯示位置。
  • 如問題持續,查看伺服器錯誤日誌,尋找與 REST API 或選單相關的錯誤訊息。

若你對資料庫操作不熟悉,建議交由專業人士處理,切勿在正式環境直接刪除 changeset 記錄,以免造成更大範圍的資料損毀。

寫在最後:選單雖小,影響卻大

導航選單是訪客認識網站結構的第一道門,出問題時直接影響使用體驗與搜尋引擎理解。2026 年的 WordPress 生態比以前複雜,區塊主題、REST API 與各類外掛互相交織,理解 changeset 與 nav_menu_item 的基本運作,能幫你在出事時更快定位問題,而不是盲目重裝。

本文僅供一般技術參考,並非針對個別網站的診斷建議。實際操作前請先備份,如有疑問,應諮詢合資格的網站開發人員或技術支援。不同主機環境與外掛組合可能產生不同結果,請自行評估風險。

延伸閱讀