Czasami podczas aktualizowania pluginów w WordPressie jedna wtyczka potrafi się zaciąć i wtedy nie można aktualizować kolejnych póki ta jedna się nie zaktualizuje. Jest to problematyczne, ponieważ aktualizująca się w nieskończoność wtyczka pozbawia nas innych aktualizacji. Co w tej sytuacji zrobić? Można zalogować się na FTP, zlokalizować wtyczkę i zmienić nazwę dla jej katalogu, jednak nie zawsze to wystarczy, aby pozbyć się problemu. Alternatywnym sposobem poradzenia sobie w tej sytuacji jest zalogowanie się do bazy danych MySQL za pośrednictwem panelu phpmyadmin, wejście do odpowiedniej tabeli i wyłączenie wtyczki, która blokuje nasze działania. W tym kursie chcę Ci pokazać jak to można zrobić.
Poniżej znajdziesz instrukcję krok po kroku, która pomoże Ci w sytuacji, kiedy aktualizacja jednej wtyczki blokuje Ci aktualizację pozostałych.
Krok 1
Pierwsze zadanie jakie stawiam przed Tobą to znalezienie panelu PhpMyAdmin i zalogowanie się do Twojej bazy danych MySQL. W tym celu skorzystaj z poradnika, który dla Ciebie przygotowałem: W jaki sposób dostać się do panelu phpmyadmin?
Nie ma jednego sposobu otwarcia panelu, stąd prośba, abyś skorzystał z powyższego poradnika. Dla początkujących największym problemem będzie jego odnalezienie, a później pozyskanie z pliku wp-config.php loginu i hasła do bazy danych, aby dostać się do panelu. jeżeli brzmi to jak czarna magia – spokojnie. Wszystko wyjaśniam w poradniku.
Krok 2
Po zalogowaniu się i wejściu do bazy danych znajdź w lewej kolumnie kliknij na pozycję wp_options. Jest to tabela zawierająca ustawienia motywu.
W razie dużej ilości tabel możliwe, iż będziesz musiał jej szukać – tak jak ja – na drugiej lub na kolejnych stronach. Tabele z lewej ułożone są w porządku alfabetycznym.
Ważne!
Tablica z opcjami może mieć inny przedrostek. W tym przypadku jest to wp_ – standardowy przedrostek proponowany przy instalacji WordPressa. Może być jednak to dowolny inny przedrostek, zależnie od Twoich indywidualnych ustawień.
Krok 3
Teraz znajdź wiersz, który nazywa się active_plugins. Bardzo możliwe, iż znajdziesz go na drugiej stronie tabeli wp_options. Następnie kliknij przycisk Edytuj. Otworzy Ci się dodatkowe okno zawierające informacje o włączonych (aktywowanych) wtyczkach. Dla pewności aby nic nie popsuć możesz skopiować zawartość pola option_value do Notatnika.
Krok 4
Kolejne działania zależą od tego, co chcesz osiągnąć:
Chcę wyłączyć (dezaktywować) wszystkie wtyczki
Wyłączenie wszystkich wtyczek jest bardzo proste. Wystarczy, iż usuniesz całą zawartość pola option_value w wierszu active_plugins. Po odświeżeniu panelu wszystkie wtyczki będą wyłączone.
Dzięki temu będziesz mógł zalogować się do panelu i włączać na nowo jedną po drugiej i aktualizować każdą pojedynczo, aby nie dopuścić do sytuacji w której jakaś aktualizacja zablokuje update innych wtyczek.
Chcę wyłączyć (dezaktywować) tylko jedną wtyczkę
Tu zadanie jest nieco trudniejsze, bo musisz się przyjrzeć zawartości pola option_value i znaleźć pewną zależność w kodzie tam umieszczonym. Zwróć uwagę na to, iż kod, który wygląda mniej więcej tak:
a:7:{i:0;s:30:"advanced-custom-fields/acf.php";i:1;s:33:"classic-editor/classic-editor.php";i:2;s:36:"contact-form-7/wp-contact-form-7.php";i:3;s:23:"elementor/elementor.php";i:4;s:33:"instagram-feed/instagram-feed.php";i:5;s:41:"sassy-social-share/sassy-social-share.php";i:6;s:24:"wordpress-seo/wp-seo.php";}posiada pewien ustrukturyzowany układ. Kod zaczyna się od a:7 co znaczy innymi słowy, iż na stronie jest 7 aktywnych wtyczek. Następnie wewnątrz klamry { i } znajduje się lista tych wtyczek. Informacja o każdej wtyczce zaczyna się od i: a kończy na średniku ;. Dla ułatwienia pokażę Ci tą samą listę rozdzieloną enterami:
a:7:{ i:0;s:30:"advanced-custom-fields/acf.php"; i:1;s:33:"classic-editor/classic-editor.php"; i:2;s:36:"contact-form-7/wp-contact-form-7.php"; i:3;s:23:"elementor/elementor.php"; i:4;s:33:"instagram-feed/instagram-feed.php"; i:5;s:41:"sassy-social-share/sassy-social-share.php"; i:6;s:24:"wordpress-seo/wp-seo.php"; }Całość nabiera sensu, prawda? Teraz, skoro już widzisz gdzie zaczyna się i gdzie się kończy informacja o konkretnych wtyczkach (choć powyższy fragment kodu potraktuj czysto edukacyjnie i nie rozdzielaj enterami tych informacji, bo lista aktywnych wtyczek przestanie działać) spróbuj usunąć jedną z nich. Na poniższym przykładzie pokazuję jak wyłączyć wtyczkę Sassy Social Share. Zwróć uwagę na to, iż prócz usunięcia informacji o aktywnej wtyczce zmieniam także ilość wszystkich aktywnych wtyczek (z 7 na 6) oraz numerację ostatniej z nich – aby wszystko się zgadzało.
Jak pewnie zauważyłeś każda wtyczka miała liczbę porządkową. Ponieważ usunąłem wtyczkę piątą – przedostatnią, dlatego zmieniła się liczba przypisana do ostatniej wtyczki. Tylko czemu ostatnia z nich jest przyporządkowana do liczby pięć (po zmianie) skoro aktywnych wtyczek jest sześć? Otóż pierwsza wtyczka zawsze oznaczana jest cyfrą 0. Dlatego liczba wszystkich aktywnych wtyczek jest o 1 większa niż liczba porządkowa ostatniej z nich.
Osoba, która zaczyna modyfikować bazę MySQL może łatwo pomylić się w obliczeniach i zresetować listę aktywnych wtyczek. Dlatego właśnie tak ważna jest kopia zapasowa edytowanego kodu, aby móc wrócić do wersji sprzed edycji.