Nie działa koszyk w WooCommerce – klient nie może kupić

Spis treści

Dlaczego koszyk nie działa

Koszyk to serce sklepu WooCommerce. Gdy nie działa, klienci nie mogą dokonywać zakupów, a Ty tracisz przychody. Problem z koszykiem może objawiać się na wiele sposobów – od niemożności dodania produktu, przez znikające produkty, po błędy przy przejściu do kasy.

Mechanizm koszyka w WooCommerce opiera się na kilku współpracujących ze sobą elementach: sesjach PHP, ciasteczkach, JavaScript i bazie danych. Awaria któregokolwiek z nich może spowodować, że koszyk przestanie działać prawidłowo.

W tym przewodniku przeprowadzę Cię przez systematyczną diagnostykę – od najprostszych i najczęstszych przyczyn po bardziej złożone problemy techniczne. W większości przypadków rozwiązanie znajdziesz w pierwszych trzech punktach.

Problemy z sesjami i cookies

WooCommerce przechowuje zawartość koszyka w sesjach. Gdy sesja nie działa prawidłowo, koszyk traci swoją zawartość lub w ogóle nie przyjmuje nowych produktów. To najczęstsza przyczyna problemów z koszykiem.

Jak działają sesje w WooCommerce:

Po wejściu na stronę sklepu WooCommerce tworzy unikalny identyfikator sesji i zapisuje go w ciasteczku przeglądarki. Przy każdym kolejnym żądaniu serwer odczytuje ten identyfikator i odtwarza zawartość koszyka. Jeśli ciasteczko zostanie utracone lub sesja wygaśnie, koszyk się opróżni.

Diagnostyka sesji:

  • Sprawdź ciasteczka w przeglądarce – otwórz narzędzia deweloperskie (F12), przejdź do zakładki "Application → Cookies" i sprawdź, czy ciasteczko o nazwie "woocommerce_items_in_cart" istnieje
  • Sprawdź konfigurację sesji PHP – upewnij się, że PHP ma skonfigurowaną ścieżkę zapisu sesji (session.save_path) i że katalog ten ma odpowiednie uprawnienia
  • Włącz alternatywną metodę sesji – WooCommerce oferuje opcję przechowywania sesji w bazie danych zamiast w plikach

Jak naprawić sesje:

Jeśli problem leży po stronie ciasteczek, upewnij się, że strona nie blokuje ich w nagłówkach HTTP. Sprawdź, czy w pliku wp-config.php nie ma ustawień wyłączających ciasteczka. Dla problemów z sesjami PHP, sprawdź w panelu hostingowym limity przestrzeni dyskowej – jeśli katalog sesji jest pełny, nowe sesje nie będą tworzone.

Konflikty z wtyczkami cache

Cache i WooCommerce to częste źródło konfliktów. Wtyczki cache tworzą statyczne kopie stron, które serwują wszystkim użytkownikom – ale koszyk jest dynamiczny i powinien być inny dla każdego klienta. Bez odpowiedniej konfiguracji cache może wyświetlać ten sam, nieaktualny stan koszyka wszystkim odwiedzającym.

Jak cache psuje koszyk:

  • Cache zapisuje stronę z pustym koszykiem i wyświetla ją nawet po dodaniu produktu
  • Cache łączy strony dynamiczne koszyka, kasy i konta użytkownika, powodując błędne przekierowania
  • Minifikacja JavaScript przez cache może łamać skrypty WooCommerce odpowiedzialne za obsługę koszyka

Jak skonfigurować cache dla WooCommerce:

Każda wtyczka cache ma dedykowane ustawienia dla WooCommerce. Dodaj do wyjątków cache następujące ścieżki: koszyk, zamówienie, kasa, moje konto. Większość popularnych wtyczek cache robi to automatycznie po wykryciu WooCommerce, ale warto to zweryfikować.

Wyłącz również cache dla ciasteczek WooCommerce – jeśli cache ignoruje ciasteczko z identyfikatorem koszyka, każdy użytkownik zobaczy tę samą wersję strony. W ustawieniach cache znajdź opcję "Nie buforuj stron z ciasteczkami" i dodaj ciasteczka WooCommerce do listy.

Błędy w JavaScript

Koszyk WooCommerce działa w dużej mierze po stronie przeglądarki – dodawanie produktów, aktualizacja liczby i usuwanie pozycji to operacje wykonywane przez JavaScript wysyłający żądania AJAX. Jeśli JavaScript na stronie ma błędy, koszyk przestaje reagować.

Jak zdiagnozować błędy JavaScript:

Otwórz konsolę przeglądarki (klawisz F12), przejdź do zakładki "Console" i wykonaj operację, która nie działa (np. dodanie produktu do koszyka). Czerwone komunikaty błędów wskażą, który skrypt zawodzi. Zwróć uwagę na:

  • Błędy "$ is not defined" – jQuery nie został załadowany lub jest konflikt z inną biblioteką
  • "Uncaught TypeError" – skrypt próbuje wykonać operację na nieistniejącym elemencie
  • Błędy sieciowe (Network) – w zakładce Network sprawdź, czy żądania AJAX do serwera kończą się sukcesem (status 200)

Jak naprawić błędy JavaScript:

W większości przypadków błędy JavaScript wynikają z konfliktów między wtyczkami – każda z nich może ładować własną wersję jQuery lub innych bibliotek. Wyłączaj wtyczki po kolei i sprawdzaj, czy koszyk zaczyna działać. Gdy znajdziesz winowajcę, sprawdź w ustawieniach wtyczki, czy oferuje opcję wyłączenia swoich skryptów na stronach sklepu.

Problemy z motywem

Motyw WordPress kontroluje wygląd i zachowanie koszyka. Jeśli motyw nie jest w pełni zgodny z WooCommerce, może nadpisywać szablony koszyka, ładować niekompatybilne skrypty lub pomijać kluczowe elementy HTML wymagane przez WooCommerce.

Sygnały, że motyw powoduje problemy:

  • Koszyk działa z domyślnym motywem (np. Storefront), ale nie z Twoim aktualnym motywem
  • Brak przycisków "Dodaj do koszyka" lub innych kluczowych elementów interfejsu
  • Nieprawidłowe wyświetlanie – elementy koszyka nachodzą na siebie lub są źle rozmieszczone

Jak naprawić problemy z motywem:

Najpierw włącz motyw Storefront (oficjalny motyw WooCommerce) i sprawdź, czy koszyk działa. Jeśli tak, problem leży w Twoim motywie. Sprawdź, czy autor motywu udostępnia aktualizację zapewniającą zgodność z najnowszą wersją WooCommerce. Jeśli nie, rozważ zmianę motywu na taki, który oficjalnie wspiera WooCommerce.

Możesz też dodać deklarację wsparcia dla WooCommerce w pliku functions.php motywu potomnego, ale to rozwiązanie tymczasowe – bez pełnego wsparcia ze strony motywu mogą pojawiać się inne problemy w przyszłości.

Konflikty z innymi wtyczkami

WooCommerce współpracuje z dziesiątkami wtyczek, ale każda dodatkowa to potencjalne źródło konfliktu. Szczególnie problematyczne są wtyczki modyfikujące działanie koszyka, sesji, przekierowań i cen.

Wtyczki najczęściej powodujące konflikty:

  • Wtyczki do dynamicznych cen i rabatów – modyfikują ceny w locie, co może kolidować z mechanizmem koszyka
  • Wtyczki do pól niestandardowych produktów – dodają dodatkowe dane do produktów, które mogą nie być poprawnie przekazywane do koszyka
  • Wtyczki do przekierowań – mogą przekierowywać użytkowników ze stron koszyka i kasy
  • Wtyczki bezpieczeństwa – czasem blokują żądania AJAX wysyłane przez koszyk

Jak znaleźć konflikt:

Standardowa procedura to wyłączenie wszystkich wtyczek oprócz WooCommerce i sprawdzenie, czy koszyk działa. Następnie włączaj wtyczki po jednej, za każdym razem testując koszyk. Gdy po włączeniu konkretnej wtyczki koszyk przestaje działać – znalazłeś winowajcę.

Jeśli interesuje Cię rozwiązywanie konkretnych problemów z koszykiem, polecam przeczytać artykuł: WooCommerce dodaje produkt dwa razy – błąd koszyka, gdzie znajdziesz szczegółową diagnostykę problemu duplikacji produktów w koszyku.

Problemy z ustawieniami WooCommerce

Czasem przyczyna problemu leży w samej konfiguracji WooCommerce. Kilka nieprawidłowych ustawień może skutecznie uniemożliwić działanie koszyka, nawet jeśli cała reszta działa poprawnie.

Kluczowe ustawienia do sprawdzenia:

  • Strony WooCommerce – w "WooCommerce → Ustawienia → Zaawansowane" sprawdź, czy strony koszyka, kasy i mojego konta są prawidłowo przypisane
  • Geolokalizacja – domyślna lokalizacja klienta wpływa na dostępność produktów i metody wysyłki. Nieprawidłowa może "ukrywać" produkty przed klientami
  • Waluta i formatowanie – nieprawidłowe ustawienia separatorów dziesiętnych mogą powodować błędne obliczenia w koszyku
  • Stany magazynowe – sprawdź, czy produkty mają status "W magazynie" i czy nie są oznaczone jako "Ukryte"

Narzędzie Status WooCommerce:

WooCommerce ma wbudowane narzędzie diagnostyczne w "WooCommerce → Status". Sprawdza ono konfigurację serwera, aktywność wtyczek, nadpisywanie szablonów i dziesiątki innych parametrów. Zielone znaczki oznaczają, że wszystko jest w porządku. Czerwone i pomarańczowe wskazują na problemy wymagające uwagi.

Błędy w bazie danych

Baza danych przechowuje informacje o produktach, zamówieniach i – co kluczowe dla koszyka – sesjach. Błędy w tabelach WooCommerce mogą powodować niemożność dodania produktów do koszyka lub utratę już dodanych.

Objawy problemów z bazą danych:

  • Produkty dodane do koszyka znikają po odświeżeniu strony
  • Koszyk działa wolno – długo "myśli" po dodaniu produktu
  • Pojawiają się błędy bazy danych w logach WordPress
  • Stan magazynowy nie aktualizuje się po złożeniu zamówienia

Jak naprawić bazę danych:

Uruchom narzędzia naprawcze w "WooCommerce → Status → Narzędzia". Znajdziesz tam opcje: wyczyść sesje, zregeneruj tabele produktów, odtwórz brakujące tabele. Przed uruchomieniem tych narzędzi zawsze zrób kopię zapasową bazy danych – operacje na żywej bazie zawsze niosą ryzyko.

Jeśli problemy się powtarzają, sprawdź integralność tabel przez phpMyAdmin w panelu hostingowym. Wybierz bazę danych WordPress i uruchom "Sprawdź tabelę", a następnie "Napraw tabelę" dla tabel z przedrostkiem woocommerce_.

Problemy z HTTPS

Mieszana zawartość to częsty problem przy migracji na HTTPS. Jeśli strona główna działa na HTTPS, ale koszyk ładuje niektóre zasoby przez HTTP, przeglądarka może zablokować skrypty koszyka ze względów bezpieczeństwa.

Jak sprawdzić mieszaną zawartość:

Otwórz konsolę przeglądarki (F12) na stronie koszyka. Jeśli widzisz ostrzeżenia "Mixed Content" – strona ładuje część zasobów przez HTTP. Zwróć uwagę na obrazy produktów w koszyku, skrypty wtyczek i zewnętrzne fonty – one najczęściej pozostają na HTTP po migracji.

Jak naprawić HTTPS:

  • W ustawieniach WordPress zmień adres strony na https://
  • Użyj wtyczki do wymuszenia HTTPS na całej stronie
  • Zaktualizuj twardo zakodowane linki HTTP we wpisach i na stronach
  • Sprawdź, czy CDN prawidłowo obsługuje HTTPS

Testowanie i naprawa koszyka

Po wprowadzeniu poprawek kluczowe jest dokładne przetestowanie koszyka, aby upewnić się, że wszystkie problemy zostały rozwiązane. Poniżej znajduje się systematyczna lista testów, które należy przeprowadzić po każdej zmianie.

Lista kontrolna testów koszyka:

Testy podstawowe:

  • Dodaj pojedynczy produkt do koszyka – sprawdź, czy pojawia się komunikat o dodaniu i czy produkt jest widoczny w koszyku
  • Dodaj kilka różnych produktów – sprawdź, czy wszystkie są poprawnie wyświetlane z właściwymi cenami
  • Zmień liczbę produktów w koszyku – sprawdź, czy suma się aktualizuje
  • Usuń produkt z koszyka – sprawdź, czy znika i czy suma jest przeliczana

Testy zaawansowane:

  • Zastosuj kupon rabatowy – sprawdź, czy rabat jest naliczany poprawnie
  • Wybierz metodę wysyłki – sprawdź, czy opcje są dostępne i prawidłowo doliczane
  • Przejdź do kasy – sprawdź, czy wszystkie produkty są tam widoczne
  • Złóż zamówienie testowe – przeprowadź pełny proces zakupu

Testy środowiskowe:

  • Testuj w trybie incognito (prywatnym) – eliminuje wpływ cache i rozszerzeń przeglądarki
  • Testuj na różnych przeglądarkach (Chrome, Firefox, Edge, Safari)
  • Testuj na urządzeniach mobilnych
  • Testuj jako użytkownik zalogowany i niezalogowany

Najczęstsze błędy przy naprawie:

Błąd #1: Testowanie tylko na własnej przeglądarce

Rozwiązanie: Zawsze testuj na co najmniej dwóch różnych przeglądarkach i w trybie incognito. Twoja przeglądarka może mieć rozszerzenia maskujące problemy.

Błąd #2: Włączanie wszystkich wtyczek naraz po testach

Rozwiązanie: Włączaj wtyczki po jednej i testuj koszyk po każdej z nich. Tylko tak precyzyjnie zidentyfikujesz konflikt.

Błąd #3: Ignorowanie logów błędów

Rozwiązanie: Włącz debugowanie WordPress (WP_DEBUG w wp-config.php) i regularnie sprawdzaj plik debug.log. Błędy PHP często wyjaśniają problemy z koszykiem.

Podsumowanie

Niedziałający koszyk w WooCommerce to poważny problem, który bezpośrednio przekłada się na utratę sprzedaży. Systematyczna diagnostyka – od sesji i cache, przez JavaScript, po bazę danych – pozwala w większości przypadków szybko znaleźć i usunąć przyczynę.

Pamiętaj, że profilaktyka jest kluczowa. Regularnie testuj koszyk, szczególnie po aktualizacjach WooCommerce i wtyczek. Szybkie wykrycie problemu to mniej straconych zamówień i lepsze doświadczenie klientów.

Jeśli chcesz dowiedzieć się więcej o zarządzaniu sklepem WooCommerce, polecam nasz artykuł o problemach z aktualizacją koszyka po zmianie liczby produktów, który zawiera dodatkowe wskazówki diagnostyczne.

Koszyk w Twoim WooCommerce nie działa prawidłowo? Chętnie pomożemy Ci zdiagnozować i naprawić problemy z koszykiem, sesjami i integracją wtyczek, aby Twoi klienci mogli bez przeszkód dokonywać zakupów. Skontaktuj się z nami, aby uzyskać profesjonalne wsparcie.