Как использовать WP Error Log для отладки WordPress

Отладка WordPress — важный этап при разработке и поддержке сайтов. Одним из главных инструментов для поиска ошибок и проблем является лог ошибок (error log). В этой статье мы подробно рассмотрим, как включить и использовать лог ошибок в WordPress, как анализировать записи, а также приведём примеры кода для кастомизации логирования на вашем сайте с доменом wperror.ru.

Что такое WP Error Log и зачем он нужен

WP Error Log — это файл, куда записываются сообщения об ошибках, предупреждения и уведомления, возникающие в процессе работы WordPress. Включение логирования ошибок позволяет:

  • Отслеживать PHP ошибки и предупреждения, которые могут вызывать проблемы на сайте;
  • Диагностировать проблемы с плагинами и темами;
  • Понять причины сбоев и багов, недоступности страниц и других ошибок;
  • Улучшить качество кода и безопасность сайта.

Без включенного лога многие ошибки остаются незамеченными или проявляются лишь внешне, что затрудняет поиск и исправление причин.

Как включить лог ошибок в WordPress

По умолчанию WordPress выводит ошибки на экран только при включенном режиме отладки. Для более безопасной и удобной работы обычно включают запись ошибок в файл, а вывод на экран отключают.

Чтобы включить логирование ошибок, выполните следующие шаги:

  1. Откройте файл wp-config.php в корне вашего сайта.
  2. Найдите или добавьте следующие строки перед строкой /* That's all, stop editing! Happy blogging. */:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Объяснение:

  • WP_DEBUG — включает режим отладки;
  • WP_DEBUG_LOG — включает запись всех сообщений об ошибках в файл wp-content/debug.log;
  • WP_DEBUG_DISPLAY — отключает вывод ошибок на экран;
  • @ini_set('display_errors', 0); — дополнительная настройка для предотвращения вывода ошибок.

После этого все PHP-ошибки и предупреждения будут аккуратно сохраняться в файл debug.log. Это удобнее и безопаснее, чем видеть ошибки на сайте.

Где находится файл логов и как его читать

Файл debug.log хранится в папке wp-content. Чтобы просмотреть его содержимое, можно использовать:

  • FTP/SFTP клиент — скачать и открыть файл в текстовом редакторе;
  • Файловый менеджер в панели хостинга;
  • Плагины для просмотра логов прямо в админке WordPress.

В файле вы увидите записи с указанием даты, времени и типа ошибки, а также трассировку вызовов, что поможет понять, где именно произошла ошибка.

Пример записи в debug.log

[28-Jun-2024 14:23:45 UTC] PHP Warning:  Undefined variable $example in /home/user/public_html/wp-content/themes/mytheme/functions.php on line 55

Здесь ясно видно, что в файле functions.php на 55-й строке используется неинициализированная переменная, что может привести к сбоям.

Как использовать плагины для работы с логами ошибок

Если вам неудобно каждый раз заходить в файлы сайта, можно использовать плагины, которые помогут просматривать логи прямо в админке и даже отправлять уведомления при появлении ошибок.

Популярные плагины для логирования ошибок

  • WP Log Viewer — простой плагин для просмотра файла debug.log в админке;
  • Query Monitor — мощный инструмент для диагностики запросов, ошибок PHP, хуков, плагинов и тем;
  • Log Deprecated Notices — помогает выявлять устаревшие функции и методы в коде.

Установка плагина происходит стандартным способом через меню Плагины > Добавить новый. После активации вы найдете новые страницы в админке для просмотра и анализа ошибок.

Как создавать кастомные логи с помощью кода

Иногда стандартного логирования недостаточно, и нужно записывать в лог собственные сообщения для отладки своих функций и плагинов. В WordPress для этого удобно использовать функцию error_log().

Пример функции для записи в лог с префиксом wperror_:

function wperror_log_message($message) {
    if (defined('WP_DEBUG') && WP_DEBUG) {
        error_log('[wperror] ' . print_r($message, true));
    }
}

Использовать её просто:

wperror_log_message('Тестовое сообщение для лога');

// Или с данными массива
wperror_log_message(array('post_id' => 123, 'status' => 'error'));

Такие записи будут появляться в debug.log с префиксом [wperror], что облегчает поиск нужных сообщений среди других ошибок.

Пример использования кастомного лога для отладки AJAX-запроса

add_action('wp_ajax_wperror_test_ajax', 'wperror_test_ajax_handler');
function wperror_test_ajax_handler() {
    wperror_log_message('AJAX запрос получен');
    $param = isset($_POST['param']) ? sanitize_text_field($_POST['param']) : '';
    wperror_log_message('Параметр: ' . $param);

    if (empty($param)) {
        wperror_log_message('Ошибка: параметр пустой');
        wp_send_json_error('Параметр не задан');
    }

    // Выполняем логику
    wperror_log_message('AJAX запрос обработан успешно');
    wp_send_json_success('OK');
}

Такой подход очень помогает в сложных сценариях, когда нужно понять ход выполнения функций и выявить ошибки.

Рекомендации по работе с логами ошибок

Несколько советов, которые помогут эффективно использовать логи ошибок в WordPress:

  • Регулярно проверяйте файл debug.log, особенно после обновлений плагинов, темы или ядра WordPress;
  • Отключайте WP_DEBUG на продакшене или используйте его только для логирования без вывода ошибок на экран, чтобы не раскрывать конфиденциальную информацию;
  • Используйте фильтры и условия для записи в лог только важных сообщений, чтобы файл не разрастался слишком быстро;
  • Создавайте резервные копии логов, если ведёте длительную отладку;
  • Используйте инструменты мониторинга, которые смогут автоматически уведомлять вас о критичных ошибках.

Правильное ведение и анализ логов ошибок позволяет значительно ускорить выявление и устранение проблем, что делает ваш сайт стабильнее и безопаснее.

Решение ошибки WP REST API 401 Unauthorized в WordPress
25.02.2026
Решение ошибки REST API WordPress 403 Forbidden
17.11.2025
Как исправить неработающий параметр Sold Individually в WooCommerce
17.05.2026
Решение ошибки 500 Internal Server Error в WordPress: подробный разбор и примеры
17.12.2025
Решение ошибки WP AJAX Nonce Invalid в WordPress
07.04.2026