跳到主要內容
WP 解題所

文章

WooCommerce 庫存不同步:設定、訂單狀態與外部系統檢查

WooCommerce 庫存不同步主題資訊圖

先做這件事

WooCommerce 庫存不同步:不要在沒有備份時連續試錯

WooCommerce 只有在庫存管理啟用、商品設定正確且訂單流程進入對應狀態時才會依規則扣庫存;外部 ERP/POS 又增加同步方向與重試問題。

本文聚焦「先區分 WooCommerce 核心扣庫存、商品層設定與外部同步。」。對應的使用情境是:訂單後庫存未減、顯示錯誤或與 ERP 不一致。。排查時請保存每一步的時間、畫面與日誌差異,才能把同時發生但無關的變更排除。

排查原則:先保存錯誤與現況,再從低風險、可回復的檢查開始;一次只改一個變因。

問題症狀

  • 付款後庫存未減
  • 已取消訂單沒有回補
  • 外部系統與商店數量不同

先用一個可重複的操作描述問題:哪個網址、哪個角色、哪個裝置,以及錯誤出現前最後成功的時間。畫面相同不代表根因相同。

可能原因

  1. 01全域或商品庫存管理未啟用。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
  2. 02變體與父商品管理層級混淆。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
  3. 03同步 Webhook 失敗或重複處理。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
WooCommerce 庫存不同步重點與步驟說明圖
WooCommerce 庫存不同步的操作重點、檢查順序與注意事項示意。圖片由本站依本文內容原創製作。

修改前備份

先建立檔案與資料庫完整備份,下載到站外位置並確認可以讀取;另保存外掛、主題、PHP 版本與目前錯誤畫面。

備份需放在站外,並至少檢查壓縮檔能開啟、資料庫能解析、版本清單完整;檔名要包含網站與時間。

由低風險到高風險的排查順序

  1. 1. 保存商品、變體與測試訂單快照
    這一步保持唯讀或可快速回復,先蒐集證據再改設定。
  2. 2. 確認全域與商品庫存設定
    這一步保持唯讀或可快速回復,先蒐集證據再改設定。
  3. 3. 追蹤訂單狀態與庫存備註
    每完成一步就重測同一個最小重現,確認問題是否改變。
  4. 4. 隔離外部同步並測核心行為
    每完成一步就重測同一個最小重現,確認問題是否改變。
  5. 5. 檢查 Webhook 冪等與失敗重試
    只把已在測試環境通過的最小變更套用到正式站,並立刻跑回歸測試。

排查過程一次只處理一層;每一步都用同一個失敗案例重測,結果沒變就回復該步再前進。

如何確認修復成功

建立、付款、取消與退款測試各只調整一次庫存,前台顯示與外部系統一致。

  • 以原本的最小重現步驟再次測試。
  • 檢查首頁、登入、REST API、表單與網站最重要的交易流程。
  • 查看 PHP error log、瀏覽器 Console 與 Network 是否新增錯誤。
  • 以 390px 手機寬度確認沒有版面級橫向溢位。

把症狀與證據對成一條排查路徑

目前看到的症狀 先驗證的原因 最小安全動作
付款後庫存未減 全域或商品庫存管理未啟用 保存商品、變體與測試訂單快照
已取消訂單沒有回補 變體與父商品管理層級混淆 確認全域與商品庫存設定
外部系統與商店數量不同 同步 Webhook 失敗或重複處理 追蹤訂單狀態與庫存備註

這張表不是用來直接判定根因,而是把「看到什麼、要查什麼、哪個動作可回復」放在同一列。若第一列的證據不成立,就不要跳到高風險修改。

如何還原

若修改後問題加劇,立即還原剛才變更的檔案或設定;無法確定影響範圍時,用已驗證備份在測試環境還原,不要在正式站連續試錯。

還原後要再次檢查 PHP 日誌、快取與資料一致性;只看到首頁恢復,仍不足以證明背景排程與表單正常。

何時應停止自行操作

若真實庫存持續變動或可能超賣,先暫停受影響商品銷售,再由負責人對帳。

停止不是放棄,而是避免把可復原的錯誤變成停機、資料損失或資安事件。準備好時間線、備份、錯誤日誌與已嘗試步驟,能顯著縮短專業人員的診斷時間。

常見問題

可以直接在正式站測試嗎?

不建議。先備份並在測試環境重現,正式站只套用已驗證的最小變更。

需要關閉所有外掛嗎?

不應在沒有計畫時一次關閉。先保存清單,再用隔離或健康檢查方式逐步排除。

修好後要做什麼?

清除必要快取、重測主要流程、保存變更紀錄並確認監控沒有新錯誤。

官方文件與查核來源

以下文件用於核對 WordPress、WooCommerce、PHP 或資料庫行為。第三方外掛與主機設定仍需查閱該產品當前版本的正式文件。