Плагин 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;
возвращает массив с текущей пользовательской отладочной информацией.