Włączamy wyświetlanie błędów w WordPress
Aby wyświetlić błąd PHP w WordPress, potrzebny jest nam dostęp do plików strony.
Po nawiązaniu połączenia edytujemy plik wp-config.php
, znajdujący się w katalogu głównym instalacji WordPress. W otwartym pliku musimy odszukać następującą sekcję, która sama w sobie dostarcza nam kilku istotnych informacji:
/** * Dla programistów: tryb debugowania WordPressa. * * Zmień wartość tej stałej na true, aby włączyć wyświetlanie * ostrzeżeń podczas modyfikowania kodu WordPressa. * Wielce zalecane jest, aby twórcy wtyczek oraz motywów używali * WP_DEBUG podczas pracy nad nimi. * * Aby uzyskać informacje o innych stałych, które mogą zostać użyte * do debugowania, przejdź na stronę Kodeksu WordPressa. * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', false);
W ostatniej linijce definiującej stałą WP_DEBUG
, zmieniamy jej argument z wartości false
na true
, aby ją „włączyć”:
define('WP_DEBUG', true);
Po zapisaniu pliku na serwerze. Wyświetlanie błędów powinno zostać włączone, a po odświeżeniu białego ekranu śmierci, treść błędu powinna zostać wyświetlona. Treść i kod błędu powinien pomóc nam zidentyfikować problem, oraz namierzyć powodujący je dodatek.
Zapisywanie błędów WordPress w pliku
WordPress posiada jeszcze kilka stałych towarzyszących wspomnianej już opcji WP_DEBUG
. Jeżeli chcemy sprawdzić czy nasza strona działa prawidłowo i jest wolna od błędów możliwe jest włączenie logowania błędów do pliku tekstowego. Po aktywacji w katalogu /wp-content/
pojawi się nowy plik debug.log
.
Po określonym czasie możemy wrócić do tego pliku i sprawdzić, czy przez ten czas użytkownicy podczas korzystania ze strony, nie natknęli się na jakieś błędy.
Aby włączyć w WordPress opcję logowania błędów do pliku musimy sami dopisać następującą linijkę w pliku wp-config.php
, najlepiej bezpośrednio poniżej opcji WP_DEBUG
:
define('WP_DEBUG_LOG', true);
Warto dodać, że opcja WP_DEBUG_LOG
działa zależnie od WP_DEBUG
i aby cokolwiek było zapisywane w pliku musi ona być ustawiona na true
.
Powstaje problem, bo być może nie chcemy aby WordPress sypał błędami naszym użytkownikom, ale chcemy wiedzieć czy jest coś co możemy poprawić na stronie. Rozwiązaniem jest skorzystanie ze stałej WP_DEBUG_DISPLAY
.
define('WP_DEBUG_DISPLAY', false);
Włączona opcja czyli true
spowoduje wyświetlanie błędów przez WP_DEBUG
, ustawiona na false
nie będzie wyświetlała błędów na ekranie, ale pozwoli na ich logowanie do pliku przez WP_DEBUG_LOG
.
Przykładowa poniższa konfiguracja nie będzie wyświetlać błędów na ekranie, ale będzie je logować do pliku (z kodeksu WordPress):
// Enable WP_DEBUG mode define( 'WP_DEBUG', true ); // Enable Debug logging to the /wp-content/debug.log file define( 'WP_DEBUG_LOG', true ); // Disable display of errors and warnings define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );