668 145 480 info@jacekjagusiak.pl

Z WordPressem pracuję na co dzień, więc widziałem już naprawdę sporo dziwnych przypadków – od znikających mediów po wtyczki, które „psują” cały kokpit. Ale to, co przytrafiło się jednemu z moich klientów, zaskoczyło nawet mnie.

Na pozór problem był prosty: po kliknięciu w zakładkę „Personalizacja” (Wygląd > Personalizacja) pojawiał się biały ekran. Żadnego komunikatu błędu, żadnych podpowiedzi, żadnych animacji – po prostu pusto, jakby coś się „zawiesiło w nicości”. Ale jak się szybko okazało – rozwiązanie było bardzo nietypowe.

Standardowe podejścia – czyli to, co robi każdy na początku

Pierwsze, co przychodzi do głowy w takich sytuacjach, to oczywiście wtyczki. W końcu to one najczęściej powodują konflikty z funkcjami WordPressa. Szybki test – wyłączam wszystkie wtyczki. Sprawdzam… i dalej biało.

Drugi trop: motyw. Może klient używa jakiegoś niestandardowego motywu, który nie jest w pełni kompatybilny z aktualną wersją WordPressa? Zmieniam więc motyw na jeden z domyślnych, np. Twenty Twenty-One… Klikam na Personalizację i… nadal nic.

W tym momencie powoli czuję, że to nie będzie zwykłe zgłoszenie. Nie działa na domyślnym motywie, bez żadnej wtyczki? Serio?

Przeinstalowanie plików WordPressa

No to idziemy dalej. Skoro nie motyw i nie wtyczki – może któryś z plików WordPressa został przypadkiem uszkodzony, np. podczas aktualizacji lub przenoszenia plików? Przeinstalowuję ręcznie wszystkie pliki WordPressa (z wyjątkiem wp-content i wp-config.php) – czyli czysta instalacja systemu z zachowaniem treści i ustawień.

Sprawdź także:  Jak asynchronicznie ładować pliki CSS na stronie?

Po tej operacji wchodzę do kokpitu, klikam znowu ten nieszczęsny link „Personalizacja” i… zgadliście – nadal biały ekran. A ja zaczynam się już czuć jak w horrorze: wszystko działa, ale nic nie działa.

Przegląd logów serwera – i bingo!

Czas na ciężką artylerię – logi serwera Apache/PHP. W nich znajduję coś, co nareszcie wygląda obiecująco:

PHP Fatal error: Uncaught exception 'Exception' with message 'Supplied nav_menu_item value missing property: description'

Bingo. Błąd mówi jasno: jeden z elementów menu nawigacyjnego nie ma opisu (description), co powoduje wywalenie się całego procesu Personalizacji w WordPressie. Słowem: jeden źle zapisany element menu potrafi wysadzić cały Customizer.

Radykalna decyzja – usunięcie menu

Po szybkim przeszukaniu kodu okazuje się, że wszystko w systemie WordPress jest na miejscu – żaden plik nie został uszkodzony. To musi być błąd danych – konkretnie w bazie danych lub w konfiguracji menu.

Decyduję się więc na radykalny krok – usuwam całkowicie istniejące menu (Motywy > Menu). Trochę się waham, bo wiem, że klient spędził sporo czasu nad jego układem, ale lepiej stracić menu niż całą funkcjonalność Customizera.

Po usunięciu menu… odświeżam zakładkę „Personalizacja” i wszystko działa jak złoto. Ani śladu po białym ekranie. Personalizacja znowu śmiga, jakby nigdy nic się nie stało.

Odtwarzanie menu i naprawa na stałe

Po naprawie panelu Personalizacji odtwarzam menu ręcznie, element po elemencie, bazując na wcześniejszym układzie. Tym razem uzupełniam każde pole, nawet opis (description), którego WordPress z reguły nie wymaga. I jak się okazało – to wystarczyło.

Sprawdź także:  Jak naprawić błąd "Wybrany odnośnik jest nieaktualny" w WordPressie?

Od tej pory Customizer działa poprawnie, klient jest zadowolony, a ja… mam nowy przypadek do kolekcji „dziwnych błędów, których się nie spodziewałeś”.

Podsumowanie

Jeśli przy próbie wejścia do „Personalizacji” w WordPressie widzisz biały ekran, nie panikuj. To wcale nie musi być wina wtyczek czy motywu. W moim przypadku winne było uszkodzone menu nawigacyjne – jeden brakujący opis w jednym elemencie potrafił wysadzić cały Customizer.

Oto co możesz zrobić:

🔹 Wyłącz wszystkie wtyczki i przetestuj Personalizację.
🔹 Zmień motyw na domyślny (np. Twenty Twenty-One).
🔹 Jeśli problem nadal występuje – sprawdź logi błędów PHP.
🔹 Zrób kopię bazy danych i spróbuj usunąć menu (Motywy > Menu).
🔹 Odtwórz menu ręcznie, uzupełniając wszystkie pola.
🔹 Upewnij się, że każdy element ma wartość description, nawet pustą ('').
🔹 Przeinstaluj WordPressa, jeśli zachodzi taka potrzeba, ale zostaw wp-content i wp-config.php nienaruszone.

Jeśli masz podobny problem lub chcesz, żebym rzucił okiem na Twoją stronę, zerknął w logi serwera lub pomógł przy odbudowie menu – pisz śmiało. Czasem jeden mały szczegół potrafi zablokować cały system – ale od czego są doświadczenia innych?

Spis treści