+48 506 130 673 info@tosetec.com

Jeśli prowadzisz sklep internetowy WooCommerce, prędzej czy później natkniesz się na różne niespodzianki w panelu administracyjnym. Jednym z dziwniejszych i jednocześnie bardzo frustrujących błędów jest sytuacja, w której:

Masz na dashboardzie status -1 orders on-hold, a po kliknięciu w ten status przenosi Cię do listy zamówień, gdzie… nic się nie wyświetla.

W tym artykule wyjaśniam skąd bierze się ten błąd, jak go naprawić i co możesz zrobić, żeby uniknąć go w przyszłości, jeśli korzystasz z WooCommerce w swoim sklepie internetowym.


🔧 Co oznacza „-1 orders on-hold” w WooCommerce?

W idealnym świecie licznik zamówień w WooCommerce powinien pokazywać tylko aktualne dane:

  • „Processing” – zamówienia w realizacji

  • „On-hold” – oczekujące na płatność

  • „Completed”, „Cancelled”, „Failed”, itd.

Jednak w niektórych przypadkach — zwłaszcza po usunięciu zamówienia lub konflikcie z wtyczką — możesz zobaczyć coś takiego:

„on-hold: -1 orders” – czyli licznik ujemny.

To oznacza, że WooCommerce próbuje zliczyć zamówienia w statusie on-hold, ale coś się nie zgadza w bazie danych.


🧠 Dlaczego tak się dzieje?

Ten błąd może wystąpić w kilku sytuacjach, typowych dla sklepu internetowego WooCommerce:

  1. Zamówienie on-hold zostało usunięte, ale WooCommerce nadal „myśli”, że ono istnieje.

  2. Wtyczka (np. od płatności, automatycznego czyszczenia koszyka, cache) usunęła wpis, ale nie zaktualizowała taksonomii zamówień.

  3. Zamówienie zostało utworzone częściowo (np. z błędnym statusem lub bez danych klienta).

  4. WooCommerce nie przeliczył ponownie liczników zamówień i pokazuje przestarzały wynik.

Efekt?

Masz na dashboardzie status -1 orders on-hold, a po kliknięciu w ten status przenosi Cię do listy zamówień, gdzie… po prostu nie ma żadnych zamówień.


🔍 Gdzie to dokładnie widać?

W panelu administracyjnym WordPress → WooCommerce → Dashboard, pojawia się blok „WooCommerce Status”. Tam możesz zobaczyć np.:

  • ✅ 26 orders (processing)

  • 🚫 -1 orders (on-hold)

  • 🛑 309 products (out of stock)

Kiedy klikniesz w „on-hold”, WooCommerce przenosi Cię do listy zamówień z filtrem „wc-on-hold”, ale:

Lista zamówień jest pusta – komunikat „No orders found”.

To klasyczny symptom niezsynchronizowanej bazy danych.


✅ Jak to naprawić – krok po kroku

Dobrą wiadomością jest to, że problem możesz naprawić samodzielnie – bez programisty.

1. Przejdź do:

WooCommerce → Status → Tools
(pełny link: /wp-admin/admin.php?page=wc-status&tab=tools)

2. Wykonaj kolejno:

  • 🔁 Rebuild order data – odbudowuje metadane zamówień

  • 🔄 Recount terms – przelicza wszystkie liczby statusów

  • 🚮 Clear transients – czyści tymczasowe dane WooCommerce

  • (opcjonalnie) Clear customer sessions – jeśli masz też dziwne zachowanie z koszykiem

Po wykonaniu tych operacji:

🔁 WooCommerce ponownie przeliczy zamówienia i licznik on-hold powinien zniknąć (lub pokazać poprawną wartość).


🧰 Dla zaawansowanych: sprawdzenie w bazie danych

Jeśli masz dostęp do bazy danych (np. przez phpMyAdmin), możesz sprawdzić, czy w ogóle istnieją zamówienia ze statusem wc-on-hold:

sql
SELECT * FROM wp_posts
WHERE post_type = 'shop_order'
AND post_status = 'wc-on-hold';

Jeśli wynik to 0 wierszy, a WooCommerce nadal pokazuje -1 orders on-hold, to masz pewność, że problem leży tylko w nieodświeżonym liczniku, a nie w realnych zamówieniach.


🧯 Czy to groźne dla działania sklepu?

Nie. Ten błąd nie wpływa na sprzedaż ani działanie sklepu internetowego WooCommerce. Ale:

  • Może wprowadzać w błąd (np. obsługa myśli, że jest zamówienie do zrealizowania).

  • Może wskazywać na inne błędy danych, np. z wtyczkami płatności, cache, automatyzacjami.

Warto więc to wyczyścić – i mieć dashboard w porządku.


🧼 Co zrobić, żeby się nie powtarzało?

👉 Oto kilka zaleceń dla właściciela sklepu internetowego WooCommerce:

  • Regularnie przeliczaj dane w WooCommerce → Status → Tools

  • Nie usuwaj zamówień ręcznie z poziomu bazy danych lub „na siłę” przez inne wtyczki

  • Używaj sprawdzonych wtyczek do płatności i zarządzania zamówieniami

  • Jeśli testujesz integracje (np. z API Allegro, Płatnościami), rób to na stagingu – nie na produkcji


✍️ Podsumowanie

Masz na dashboardzie status -1 orders on-hold, a po kliknięciu w ten status przenosi Cię do listy zamówień, gdzie… nic się nie wyświetla?
To nie błąd Twojego sklepu – to tylko efekt niezsynchronizowanego licznika WooCommerce.

Rozwiązanie jest szybkie:

  1. Odbuduj dane zamówień.

  2. Przelicz liczniki.

  3. Wyczyść cache.

Twój sklep internetowy WooCommerce znów będzie działać bez zakłóceń – i bez mylących statusów w panelu.