高效能訂單儲存
高效能訂單儲存 (HPOS)(原稱為自訂訂單表格)是專為電子商務需求設計的解決方案,提供易於理解的穩固資料庫結構。
它使用 Woo 的建立、讀取、更新、刪除 (CRUD) 設計,將訂單資料儲存在針對 WooCommerce 查詢最佳化的自訂表格中,對商店效能的影響最小。
高效能訂單儲存的新功能
將 HPOS 引入 WooCommerce 改善了對電子商務商店至關重要的三個特性:
- 可擴展性
顧客和顧客訂單數量的增加會增加商店資料庫的負載,使其難以處理顧客訂單請求並提供無縫的使用者體驗。透過高效能訂單儲存,你可以獲得訂單、訂單地址等資料的專用表格和專用索引,從而減少讀取/寫入操作和繁忙表格。此功能使各種規模的電子商務商店能夠將業務擴展到最大潛力,而無需專家介入。 - 可靠性
HPOS 使實施和還原目標資料備份更簡單。由於這些自訂訂單表格中的可靠備份,你不再需要擔心遺失訂單、庫存數量或客戶資訊。它還有助於實施讀取/寫入鎖定並防止競爭條件。 - 簡單性
你不再需要瀏覽單一巨大資料庫來定位底層資料和 WooCommerce 條目。透過 HPOS,你可以瀏覽獨立於_posts表格的單獨表格和易於處理的條目,以尋找資料或了解表格結構。它還讓你能夠開發新的擴充功能、實施商店和商品設計,並更靈活地修改 WooCommerce。
背景
在 8.2 版之前,WooCommerce 依賴 _post 和 _postmeta 表格結構來儲存訂單資訊。
HPOS 引入了訂單、訂單地址等資料的專用表格和專用索引。這導致更少的讀取/寫入操作和更少的繁忙表格。此功能使各種規模的電子商務商店能夠擴展到其最大潛力。
訂單資料從 _posts 和 _postmeta 表格同步到四個自訂訂單表格:
_wc_orders_wc_order_addresses_wc_order_operational_data_wc_orders_meta
如何啟用高效能訂單儲存
注意:
在啟用高效能訂單儲存之前,請確保你網站上使用自訂文章類型的任何擴充功能(例如 Woo Subscriptions、WooCommerce Bookings 等)處於啟用狀態。在將訂單資料轉換至 HPOS 之前停用這些擴充功能可能會導致資料不一致。進一步了解在 HPOS 遷移期間處理自訂文章類型。
從 WooCommerce 8.2 開始,HPOS 對新安裝預設啟用。現有商店可以按照以下步驟從 WordPress 文章儲存切換到高效能訂單儲存。
要啟用 HPOS,現有商店首先需要同步文章和訂單表格:
- 在 WP 管理後台,前往 WooCommerce > 設定 > 進階 > 功能
- 勾選啟用相容模式(同步訂單至文章表格)核取方塊。
- 啟用此設定後,背景操作將被排程。
wc_schedule_pending_batch_process操作會檢查是否有訂單需要回填。- 若有,會排程另一個操作(
wc_run_batch_process)將這些訂單回填至文章儲存。 - 可等待這些操作自動執行(不需要太久),或前往WooCommerce > 狀態 > 排程操作,找到操作,並點擊操作名稱下方的執行連結(滑鼠游標移至名稱上方時會顯示)。
- 此操作每次會回填25 個訂單。若有更多訂單需要同步,會在前一個操作完成後排程更多操作。
- 兩個表格成功同步後,可選擇切換至 HPOS 的選項。
- 建議維持相容模式一段時間以確保順利轉換。若發生任何問題,可即時回復至
_posts表格。
- 建議維持相容模式一段時間以確保順利轉換。若發生任何問題,可即時回復至

或者,也可以使用命令列介面(CLI)指令 wp wc cot sync 將訂單從 _posts 表格複製到 HPOS 表格。此指令會根據權威表格設定自動識別適合進行資料傳輸的表格。
注意:關閉與開啟啟用相容模式(同步訂單至文章表格)設定也會在需要時再次排程回填程序。
訂單資料儲存
可自由切換資料存放區以同步表格間的資料。
-
若選擇WordPress 文章儲存(舊版)選項,系統會將訂單資料儲存在
_posts與_postmeta表格內。在此情境下不會使用訂單表格。 -
若選擇高效能訂單儲存(建議)選項,系統會將訂單資料儲存在新的 WooCommerce 訂單表格內。
-
若選擇WordPress 文章儲存(舊版)選項並勾選啟用相容模式核取方塊,系統會在
_posts、_postmeta與 WooCommerce 訂單表格之間同步訂單資料。
同步
當同時選擇高效能訂單儲存(建議)與相容模式選項時,WooCommerce 會使用來自 _posts 與 _postmeta 表格的資料填充 HPOS 表格。進一步了解不同表格間的同步。
HPOS 遷移期間處理自訂文章類型
在啟用高效能訂單儲存之前,請確保網站上使用自訂文章類型的任何擴充功能(例如 Woo Subscriptions、WooCommerce Bookings 等)處於啟用狀態。這些擴充功能將資料儲存在 WordPress 文章表格中。啟用 HPOS 時,訂單資料會移至新的最佳化 HPOS 表格。
若在遷移後重新啟用擴充功能,這可能造成資料不一致,因為原始資料仍保留在文章表格中,而系統現在查找 HPOS 表格,不會識別該資料。要防止此類問題,在啟用 HPOS 時請保持使用自訂文章類型的擴充功能處於啟用狀態。
若已停用擴充功能並啟用 HPOS,請按照以下步驟正確遷移訂單資料:
- 前往 WooCommerce > 設定 > 進階 > 功能。
- 將高效能訂單儲存切換回WordPress 文章儲存,並允許同步完成。
- 然後,切換回高效能訂單儲存。
不相容擴充功能
若使用與 HPOS 不相容的擴充功能,WP 管理後台 WooCommerce > 設定 > 進階 > 功能 下的切換選項會被停用。
- 點擊檢視與管理連結以檢視不相容擴充功能清單。
- 也可以造訪
https://example.com/wp-admin/plugins.php?plugin_status=incompatible_with_feature&feature_id=custom_order_tables檢視不相容擴充功能清單(將example.com替換為網站網域)。
注意:若使用無法正常運作於高效能訂單儲存的第三方擴充功能,請通知其開發者並要求他們加入 HPOS 支援。由各個擴充功能開發者負責為其擴充功能加入 HPOS 支援。我們提供開發者資源與文件協助他們進行整合工作。
HPOS 全文搜尋索引
從 WooCommerce 9.0 開始,訂單全文搜尋(FTS)以實驗模式提供。此功能增強搜尋能力,允許使用訂單地址與商品快速搜尋。
要啟用實驗性「HPOS 全文搜尋索引」功能:
- 前往 WooCommerce > 設定 > 進階 > 功能。
- 確保訂單資料儲存已設定為 HPOS。
- 在實驗性功能區段下,啟用HPOS 全文搜尋索引選項
注意:此功能僅在訂單資料儲存設定為 HPOS 時有效。

停用 HPOS
若遇到問題,或需要繼續使用尚未與 HPOS 相容的擴充功能,建議暫時將訂單資料儲存設定切換回WordPress 文章儲存(舊版)。
要執行此操作,請前往 WooCommerce > 設定 > 進階 > 功能 並確保相容模式已啟用。若先前未啟用,可能需要等待訂單資料在資料存放區之間同步。
同步完成後,選擇WordPress 文章儲存(舊版)作為偏好選項;此時也可以停用相容模式。準備好重新啟用 HPOS 時,只需按照本文件開頭所列的說明操作即可。最後,記得在變更之間儲存此頁面!
如先前所述,我們也強烈建議聯絡任何不相容擴充功能的支援團隊,以便他們採取修正措施。
開發者升級指南
若你或團隊需要更新商店的自訂程式碼、擴充功能或任何與 HPOS 相關的內容,請查看我們的升級食譜書以找到所有技術細節。
常見問題 (FAQ)
我有現有商店但不想啟用 HPOS。需要啟用嗎?
沒問題!雖然我們鼓勵所有人切換至 HPOS 以享受更快結帳體驗的完整優勢,但我們理解並非所有人都想立即嘗試。此功能完全選擇性加入,可以隨時切換。
我最喜歡的擴充功能與 HPOS 不相容,該怎麼辦?
我們已積極與開發者社群溝通即將到來的 HPOS 變更。我們有數篇部落格文章、GitHub 上的擴充功能更新指南與完整文件。儘管我們盡力鼓勵擴充功能開發者進行切換,部分開發者可能不支援 HPOS。若你的某個擴充功能不相容,強烈建議聯絡該開發者的支援團隊並要求他們進行更新。若已安裝擴充功能,可以繼續在沒有 HPOS 的情況下使用。
小型企業可以使用 HPOS,還是僅適用於大型企業?
所有規模的企業都會受益於高效能訂單儲存。
我在 WooCommerce 上有大流量商店。這對我的商店有什麼影響?
現有商店不會自動遷移至 HPOS。此功能完全選擇性加入。可按照上述步驟啟用 HPOS。
使用 HPOS 是否有特定的主機要求或限制?
沒有主機限制。任何能夠執行 WordPress 與 WooCommerce 的主機都應該可以順利執行 HPOS。啟用後甚至可以在多方面提升效能。進一步了解 WooCommerce 的伺服器需求。
要了解更多技術見解,請查看我們的開發者部落格常見問題。



