Choć zawsze powtarzam, że ze szklanej kuli nie jestem w stanie wywróżyć, co się na stronie mogło stać, to jednak… Wy czasem możecie! 😃
Fakty są takie, że choć potencjalnie wiele rzeczy może się wydarzyć i nigdy nie wiadomo, to jednak większość powszechnych problemów z WordPressem (z tych, z którymi się spotykam, a które powodują wywalenie przed nasze oczy błędu krytycznego albo nic nie mówiącego białego ekranu) ma to samo źródło – jakiś błąd we wtyczce, motywie, albo konflikt wtyczek lub wtyczek i motywu.
Tylko skąd wiedzieć, która to wtyczka albo motyw?
🤔 Jeśli WordPress wyrzuci nam informację o błędzie krytycznym, to pół problemu z głowy, bo na maila ustawionego jako e-mail administratora dostaniemy raporcik, w którym będziemy mieć placem wskazane, która wtyczka (lub motyw) sprawiła problemy. Będziemy mieć także dostarczony link do logowania w trybie awaryjnym, czyli z wyłączoną problematyczną wtyczką. Będzie można ją na chwilę usunąć i na spokojnie, z działającą stroną, zastanowić się nad sytuacją.
🤔 Albo jeśli przed momentem aktualizowaliśmy jakąś wtykę i błąd wyskoczył zaraz po, to powiedzmy, że o podejrzanego łatwo 😊 Wtedy wystarczy wyłączyć wtyczkę i strona wróci do żywych, a my zyskamy czas, żeby zgłosić problem do supportu.
🤔 A jeśli niczego nie tykaliśmy i przestało działać samo z siebie?
Wtedy trzeba pogłówkować! 😃
Sprawdzenie czy występuje konflikt wtyczek albo motywu to jest coś, o zrobienie czego poprosi Was każdy support zanim na dobre zacznie Wam pomagać, więc równie dobrze można od tego zacząć samodzielnie.
Do konfliktu wtyczek dochodzi wtedy, kiedy dwie (lub więcej) wtyczki działają dobrze same w sobie, ale nie w duecie. Trochę jak na przykład alergie krzyżowe – niby nie mam alergii ani na pyłki brzozy, ani na marchew, ale jak siądę pod brzozą i chrupnę tam marchewkę to się robi niewesoło 😱
Konflikt wtyczek zwykle miejsce, kiedy dwie wtyczki używają tego samego fragmentu kodu albo próbują wykonać te same funkcje – po prostu obie mówią WordPressowi co ma robić w danym temacie, tylko niestety każda mówi coś innego. Więc WordPress staje w miejscu, stwierdza że w 🍑 to ma, nie będzie w takich warunkach pracował i już.
Nie dziwię się! Też bym stanęła okoniem! 😃
Trzeba wtedy namierzyć, które to dwie wtyczki (ewentualnie duet wtyczka + motyw – zdarza się rzadziej, ale nie jest niemożliwe) i zgłosić to do twórców. Zwykle zależy im na rozwiązaniu takich problemów na stałe w kolejnej aktualizacji albo są w stanie dostarczyć chociaż tymczasowe rozwiązanie.
Jeśli nie – w ostateczności możemy taką problematyczną wtyczkę wymienić na inną o podobnym działaniu, ale mniej konfliktową 😉
Bardzo prosto!
Należy wyłączyć wszystkie wtyczki i zmienić motyw na któryś z domyślnych motywów WordPressowych (Twenty-ileś), a następnie sprawdzić, czy problem nadal występuje.
Tym problemem może być Biały Ekran Śmierci, ale równie dobrze może to być jakiś inny błąd działania jakiegoś elementu strony. Ot, coś działało i nagle przestało. Albo powinno działać tak i tak, ale jednak nie działa.
💔 Jeśli po wyłączeniu wtyczek i ustawieniu domyślnego motywu problem nadal występuje, to najprawdopodobniej jego źródło nie leży w samym WordPressie. Wtedy warto sprawdzić kwestie poza nim samym czyli na przykład czy działamy na odpowiedniej wersji PHP (ewentualnie zmienić wersję PHP na oczko nowszą/starszą) lub zapytać hosting czy po ich stronie wszystko gra (np. nie działający przez chwilę serwer baz danych będzie powodował, że zobaczymy na ekranie info błędzie łączenia z bazą danych, choć problem nie leży w samej bazie/stronie, tylko w serwerze, i sami nic z tym nie zrobimy).
❤️ Jeśli natomiast po wyłączeniu wtyczek i ustawieniu domyślnego motywu problem nie występuje, wtedy powoli wracamy do swojej starej strony, ale po kawałeczku. Żeby zobaczyć, co jej zaszkodziło. Tak jak alergikom włącza się do diety po jednym produkcie, żeby sprawdzić, co ich uczula 😉
Najpierw wracamy do swojego poprzedniego, docelowego motywu. Włączamy go i sprawdzamy czy nadal wszystko działa.
💔 Jeśli nie działa – to mamy winowajcę. Problemy są na 99,9% powodowane przez motyw.
❤️ Jeśli działa – motyw jest uniewinniony, a my szukamy winnego dalej.
Potem włączamy wtyczki, ale po jednej.
Włączamy pierwszą i sprawdzamy.
💔 Jeśli otrzymujemy błąd – mamy winnego i winnym jest włączona przed momentem wtyczka.
❤️ Jeśli błąd nadal nie występuje – ta pierwsza wtyczka jest niewinna i przepytujemy kolejnego podejrzanego, to znaczy włączamy kolejną wtyczkę.
Powtarzamy ten schemat idąc wtyczka po wtyczce, aż strona z powrotem się zbuntuje – wtedy będziemy wiedzieć, że to wtyczka X, którą przed momentem włączyliśmy, sprawia problemy. Sama albo wchodzi konflikt z inną wtyczką lub motywem.
Kiedy wyłuskamy już jednego winnego, warto sprawdzić, czy działa sam, czy w zmowie 😉 To znaczy czy to zwykły błąd w pojedynczej wtyczce powoduje problem, czy dopiero w połączeniu z naszym motywem albo inną wtyczką – jedną z tych, które już zdążyliśmy uruchomić (te, które nadal są wyłączone, są poza podejrzeniami).
➡️ Krok 4.1: Spisujemy więc gdzieś na boku potencjalnych wspólników wadliwej wtyczki, czyli nasz motyw i wszystkie wtyczki, które zdążyliśmy wcześniej włączyć.
➡️ Krok 4.2: Jeszcze raz wyłączamy wszystkie wtyczki i przełączamy się na motyw z linii Twenty-coś.
➡️ Krok 4.3: Następnie włączamy tylko wtyczkę X, która została już wcześniej nakryta na wykolejeniu strony.
💔 Jeśli i tym razem spowoduje błąd – to znaczy, że coś jest nie tak z nią samą, bez współpracy z innymi komponentami. Nie mamy wtedy do czynienia z konfliktem wtyczek, tylko ze zwykłym bugiem w niej samej, jednej pojedynczej.
❤️ Jeśli tym razem magicznie błąd się nie pojawia – to znaczy że wtyczka X to psucia potrzebuje towarzystwa jeszcze innego elementu, czyli mamy do czynienia z konfliktem wtyczek (lub wtyczek i motywu).
➡️ Krok 4.3: Wtedy włączamy swój normalny motyw.
💔 Jeśli strona się wykrzaczy, to znaczy że mamy konflikt wtyczki X z motywem.
❤️ Jeśli strona działa poprawnie – włączamy po kolei wtyczki z listy podejrzanych (krok 4.1) i sprawdzamy, po włączeniu której pojawi się problem. W ten sposób dojdziemy do wtyczki Y, która będzie drugim ogniwem konfliktu 🥳
Postępowanie dowodowe będzie tym samym zakończone, a my będziemy mogli udać się do supportu tych wtyczek i zgłosić problem 🎉🥂
No i trzeba przyznać, jest to dość mozolna, detektywistyczna praca (dlatego każdy developer przewróci oczami, kiedy napiszecie do niego że Hej, masz minutę? Mógłbyś mi sprawdzić, czemu strona nie działa? 😂), ale jak widać, nie jest to jakaś fizyka cząstek elementarnych 😊
Drobny minus jest taki, że tak przełączając stronę między motywami oraz włączając i wyłączając wtyczki będziemy ją tymczasowo na froncie rozwalać wizualnie. Więc jeśli działamy na stronie, która ma już czytelników – warto te testy oczywiście przeprowadzać na uprzednio postawionym stejdżu 😊
To znaczy na stejdżu namierzyć podejrzanych, a na stronie właściwej już tylko wyłączyć jednego z nich do czasu rozwiązania problemu przez support.
Dzięki temu nie będziemy na oczach widzów robić ze strony placu budowy 😉
Wiem, że to pytanie padnie prędzej czy później 😃
No bo to jest tak, że czasem strona wywali nam błąd krytyczny i wyśle link do logowania w trybie awaryjnym, a czasem pokaże tylko biały ekran. Pal licho, jeśli tylko na froncie, ale logowanie do kokpitu nadal będzie możliwe. Wtedy zmiana motywu i powyłączanie wtyczek to bułka z masłem.
Czasem jednak nie ma tak dobrze i zamiast formularza logowania też widzimy śnieżną biel 😃
Innymi słowy: nie da się dostać do kokpitu.
Jak wtedy wyłączyć wtyczkę?
Jak zmienić motyw?
W zasadzie to równie łatwo, jak z kokpitu.
Wystarczy przejść do Menadżera plików, tam wbić się do katalogu domeny, potem do katalogu wp-content, a dalej do katalogu plugins – tam są wrzucone foldery ze wszystkimi wtyczkami, które mamy na stronie (zarówno włączonymi, jak i wyłączonymi) – po jednym folderze na wtyczkę:
Teraz wystarczy zmienić nazwę takiego katalogu wtyczki i w ten dość nieoczywisty sposób tę wtyczkę wyłączymy 🤯
Ja proponuję zawsze zmieniać nazwę nie na jakąś kompletnie od czapy, żeby się potem nie pogubić (finalnie będzie te pierwotne nazwy przywrócić), tylko dodać na końcu nazwy znak minusa na przykład. Potem łatwo zapamiętać co trzeba usunąć ze zmienionej nazwy, żeby katalog wtyczki miał swoją oryginalną nazwę (bez tego wtyczki nie uda się potem włączyć z powrotem):
Czyli aby zlokalizować problem z wtyczkami, wchodzimy do katalogu plugins, a tam dopisujemy znak minusa do nazwy każdego katalogu, czyli katalogu każdej wtyczki. W ten sposób sprawimy, że wszystkie będą wyłączone:
W tym momencie powinniśmy już być w stanie zalogować się do kokpitu WordPressa, więc powrotne włączanie wtyczek po jednej sztuce będzie można przeprowadzić właśnie tam.
Zanim jednak będziemy mogli jakąś wtyczkę włączyć, musimy przywrócić starą, oryginalną nazwę jej katalogu (nie da się włączyć wtyczki jeśli jej katalog nazywa się inaczej niż powinien). Więc znów lecimy od góry do dołu i usuwamy dołożone znaki minusa, aby wszystkim wtyczkom przywrócić oryginalne nazwy katalogów.
Mimo zmiany nazwy na poprawną, te wtyczki nadal będą wyłączone, dopóki nie włączymy ich z kokpitu – kroczymy więc właśnie do kokpitu i tam włączamy je już po jednej sztuce, patrząc uważnie, kiedy wykiełkuje problem.
Jeśli musimy zmieniać motyw bez dostępu do kokpitu (choć to zdarza się rzadziej), zrobimy to dość podobnie jak wyłączanie wtyczek.
Do motywu też dobierzemy się wskakując w Menadżer plików, dalej w katalog domeny, potem wp-content, ale później nurkujemy już nie w plugins, tylko w themes – to właśnie katalog, w którym znajdują się wszystkie motywy.
Teraz wystarczy zmienić nazwę (np. dodać znak minusa na końcu) motywu, którego używamy:
WordPress przy odświeżeniu strony zaprotestuje, że brakuje mu włączonego motywu:
ale po zalogowaniu do kokpitu (a po wyłączeniu problematycznego motywu będzie się tam już dało zalogować) sam przełączy się na domyślny motyw, czyli jeden z motywów Twenty-ileś:
Oczywiście pod warunkiem, że mamy jakiś z domyślnych zainstalowany! (u mnie jak widać był na takie sytuacje zawsze zwarty i gotowy Twenty-Twenty 😊)
Dlatego ja zawsze zalecam, żeby oprócz motywu, który mamy włączony, mieć zainstalowany jeden dodatkowy, któryś z serii domyślnych – na przykład Twenty Twenty (i dbać o jego aktualizacje!)
Jeśli natomiast mieliśmy tylko jeden motyw, który teraz musimy wyłączyć, trzeba po prostu pobrać motyw Twenty-ileś z repozytorium:
wgrać go do katalogu themes:
rozpakować:
i dla porządku usunąć wersję spakowaną w .zip, bo nie jest już do niczego potrzebna, a bałaganu nie hodujemy 😊:
i już – motyw będzie zainstalowany, a WordPress będzie się mógł na niego przełączyć, gdy wyłączymy motyw obecnie używany.
Koniec filozofii!
Teraz nic nie powstrzyma nas już przed tropieniem konfliktów 😉
Ten kurs jest i zawsze będzie dla Was DARMOWY,
bo wierzę wiem, że warto sobie pomagać ❤
Totalnie nie musisz za nic płacić, ale jeśli masz chęć, możesz postawić mi kawę ☕
Wypiję ją za sukces Twojej strony!