Плагин Error Monitor & Notifier оповещает об ошибках в коде PHP-скриптов, JavaScript-коде и при запросах к базе данных WordPress независимо от настроек отладки в файле конфигурации wp-config.php.
Разработчикам не потребуется включать режим отладки путём определения константы
define('WP_DEBUG', true);или выполнять другую конфигурацию вручную.
Примечание: Плагин переключает механизм уведомлений об ошибках в режим
error_reporting(E_ALL);при инициализации, чтобы ядро PHP сообщало обо всех типах ошибок, и восстанавливает предыдущий уровень внутренних уведомлений после обработки ошибок.
Выбор типов ошибок, о которых плагин уведомит, доступен на странице настроек плагина.

Пользовательская отладочная информация
Метод addDebugInfo()
С версии 1.1.10 в плагине доступен статический метод публичного API — \Enot\Enot::addDebugInfo(string $message, string $group = 'default'): void;, который добавляет пользовательскую информацию для отладки в уведомление об ошибке. Отладочная информация сохраняется во внутренней переменной и включается в оповещение об ошибке, если такая возникает.
/**
* Добавим в коде какого-то плагина или темы информацию для отладки,
* которую требуется получить в уведомлении об ошибке, если такая возникнет.
* Названия группы данных об отладке указываются произвольно.
*
* Обернем вызов метода функцией method_exists,
* чтобы код не выдавал ошибок при отключении плагина.
*/
// Добавим к уведомлению об ошибке информацию о запросе к БД
if (method_exists('\Enot\Enot', 'addDebugInfo')) {
\Enot\Enot::addDebugInfo("The last WP DB query: `{$wpdb->last_query}`", 'db');
}
// Добавим сведения о переменной
if (method_exists('\Enot\Enot', 'addDebugInfo')) {
\Enot\Enot::addDebugInfo(
sprintf('The type of the $foo is: %s', get_debug_type($foo)),
'info'
);
}
Теперь при ошибке или исключении в состав уведомления дополнительно включается массив наподобие:
array (
'db' =>
array (
0 =>
array (
'time' => 1749461550.0192,
'message' => 'The last WP DB query: `SELECT * FROM wp_users`',
),
),
'info' =>
array (
0 =>
array (
'time' => 1749461550.0211,
'message' => 'The type of the $foo is: object',
),
),
)
Фильтрация пользовательской отладочной информации
Для фильтрации массива с отладочной информацией разработчикам доступен хук enot_filter_custom_debug_info:
// Оставим только отладочные сообщения
\add_filter(
'enot_filter_custom_debug_info',
static function (array $debug_info) {
return array_reduce(
$debug_info,
static fn(array $carry, array $group) => array_merge($carry, array_column($group, 'message')),
[],
);
},
10,
1
);
// Array
// (
// [0] => The last WP DB query: `SELECT * FROM wp_users`
// [1] => The type of the $foo is: object
// )
Очистка пользовательской информации для отладки
Для очистки пользовательской отладочной информации в плагине предусматривается метод public static function clearDebugInfo(string|array $groups = ''): void;, который очищает отдельную группу, заданную в параметре $groups, или всю отладочную информацию, если параметр не установили.
Извлечение пользовательской отладочной информации
Метод public static function getDebugInfo(): array; возвращает массив с текущей пользовательской отладочной информацией.