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 );
print