Перейти к содержанию

4.8 Ядро WordPress. Функция wp_debug_mode()

Last updated on 23.05.2021

Данные функции располагаются в файле “load.php”. Полный путь к нему таков:

корневая папка сайта/wp-includes/load.php

wp_debug_mode

Описание wp_debug_mode()

Функция “wp_debug_mode()” – проверяет режим работы CMS WordPress. Если система работает в режиме разработки, тогда определённым образом настраивается документирование и вывод ошибок, возникших при работе скрипта.

Сначала запускается функция “apply_filters()“. Она проверяет следует ли разрешить режим отладки или нет. Если результат её работы равен “FALSE”, то дальнейшая проверка прерывается. В ином случае проверяется именная константа “WP_DEBUG”. Эта константа объявляется в файле “wp-config.php“. При её значении равным “FALSE”, скрипт работает в обычном режиме. При этом ошибки, что попадут в отчёт задаются функцией “error_reporting()“. Если значение этой константы равно “TRUE”, тогда WordPress работает в режиме отладки , а значит необходимо отредактировать некоторые настройки.

Во-первых в отчет попадают все ошибки ” error_reporting(E_ALL) “. Во-вторых проверяется константа “WP_DEBUG_DISPLAY”. Она объявляется в файле “default-constants.php”. Значение “TRUE” разрешает отображать сообщения об ошибках на экране монитора. Для этого используется функция “ini_set(‘display_errors’, 1)“. Значение “FALSE” не позволяет отображать ошибки. В этом случае используется “ini_set(‘display_errors’, 0)“.

Далее анализируем именную константу “WP_DEBUG_LOG”. Значение данной константы переводится в строковый формат при помощи конструкции “(string)”. Затем, при помощи функции “in_array()“, проверяем, присутствует ли в массиве “array()” значение этой константы. Если да, тогда указываем путь к лог-файлу, который хранится в переменной “$log_path”. Иначе этой переменной присваивается значение “FALSE”. Если “$log_path” представляет собой строку, тогда при помощи функции “ini_set()” CMS назначает журнал ошибок. Именно в нём будут вестись записи проблем, возникших при работе WordPress.

В конце функции “wp_debug_mode()” осуществляется последняя проверка. Если скрипт находится в процессе установки или же текущий запрос является AJAX/JSON запросом, тогда сообщения о возникших ошибках не отображаются.

Опубликовано в рубрике4. Файл "load.php"Ядро Wordpress