Частенько возникает нужда сделать отладку не на странице, а поймать её как-то в файл. В WordPress для этого есть нативное решение. В конфиге пишем:
“`
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
“`
После этого ошибки будут записываться в:
“`
/wp-content/debug.log
“`
Пользуемся функцией `error_log()`, чтобы получить свою отладку.
WordPress ещё имеет особенность не замечать что прописано у вас в `error_reporting`. Вместо этого он использует свой набор настроек и может писать в лог всякий deprecated-буллщит из-за того, что у вас слишком свежая версия PHP. Как исправить:
“`
set_error_handler(function($errno, $errstr, $errfile, $errline) {
// Игнорируем deprecated
if ($errno === E_DEPRECATED || $errno === E_USER_DEPRECATED) {
return true;
}
// Всё остальное пишем стандартно
return false;
});
“`