Скріншот нижче виглядає страшнувато 🙂 , але саме з таким текстом ви випадково можете зустрітись на сторінках вашого сайту, якщо певний плагін чи інший код викликатиме помилки PHP. З іншого боку, саме цей код буде вам корисний в процесі пошуку проблеми.

Типи PHP помилок (не тільки для WordPress)

В першу чергу, слід розуміти, що помилки бувають різного ступеню “критичності”. Найчастіше ви зустрінете так звані попередження “Warnings”, а також фатальні помилки “Fatal errors”.

Перший тип в більшості випадків не ламає ваш сайт повністю, а лише докучає виведенням певних даних про помилку десь на сторінках сайту чи адмін-панелі WordPress. В залежності від налаштувань вашого хостингу, такі повідомлення можуть за замовчуванням виводитись чи приховуватись.

У другому випадку ви можете просто бачити білий екран замість якоїсь із сторінок.

Як вимкнути виведення помилок

Наступний код вимикає виведення помилок на сторінках сайту. Його необхідно додати у файл wp-config.php, що знаходиться в корені вашого сайту. Найпростіше знайти в цьому файлі текст define(‘WP_DEBUG’, false); і замість нього додати:

error_reporting(0); // Вимикаємо повідомлення про помилки
ini_set('display_errors', 0); // Вимикаємо виведення повідомлень про помилки на экран 
define('WP_DEBUG', false); 
define('WP_DEBUG_DISPLAY', false);

Не забувайте перед редагуванням файлів PHP на сайті робити їх резервну копію, це дозволить швидку повернутись на крок назад у разі якихось механічних помилок.

Як включити виведення помилок?

Наступний код навпаки вмикає виведення помилок, що дозволить вам чи вашому вебмайстру швидше та простіше дізнатися про причини проблем на сайті, дуже допомагає, коли замість сторінки сайту показується просто біла сторінка без даних:

error_reporting(E_ALL); // вмикаємо повідомлення про помилки
ini_set('display_errors', 1); // вмикаємо виведення повідомлень про помилки на экран
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Розмістити цей код необхідно один в один як і попередній у файлі wp-config.php

Плагіни для пошуку помилок у WordPress (дебаг та профілювання)

Для WordPress є кілька чудових плагінів, що дозволять більш глибоко зануритись у процес пошуку помилок та їх причин. Ось кілька популярних з них:

  • Query Monitor – виводить в футері доволі багато корисної інформації, зокрема про запити, виконані під час генерації поточної сторінки. Серед інформації наведено час генерації сторінки, скільки було SQL запитів, які саме та час їх виконання, скільки пам’яти витрачено, які хуки використано та інше.
  • Debug Bar – комплекс плагінів для дебагу. Це основний плагін, до якого можна підключати додаткові, що розширюють функціональність основного.
  • Log Deprecated Notices – записує інформацію про наявність застарілих функцій у WordPress чи їх параметрів, не залежить від значень константи WP_DEBUG, тобто працює завжди.
  • WordPress mu-plugin for debugging – альтернативний плагін на базі бібліотеки Kint.
  • Clockwork для WordPress – цікавий плагін для відладки через консоль браузерів Google Chrome чи Firefox, є можливість відладки AJAX-запитів.