WordPress как на ладони
wordpress jino

wp_debug_mode() WP 3.0.0

Устанавливает настройки обработки ошибок в PHP на основе того какие константы указаны wp-config.php файле WordPress.

Использует три константы:

  • WP_DEBUG (по умолчанию false)
  • WP_DEBUG_DISPLAY (по умолчанию true)
  • WP_DEBUG_LOG (по умолчанию false)

Все они определяются ранней функцией wp_initial_constants() и могут быть определены в файле wp-config.php.

WP_DEBUG

Если включить WP_DEBUG (указать значение true), то все PHP ошибки (заметки и предупреждения) будут выводиться на экран. WordPress при этом также показывает внутренние заметки, которая создаются самим WordPress, когда используются устаревшие функции или устаревшие переменные функций или когда переменные используются неправильно. Устаревшие функции могут быть удалены в поздних версиях WordPress.

Включение WP_DEBUG не изменяет значение других констант. Т.е. если выключить WP_DEBUG, то WP_DEBUG_DISPLAY и WP_DEBUG_LOG сохранят свои дефолтные значения и на основе этих значений будут выставлены PHP настройки показа и логирования ошибок.

Разработчикам настоятельно рекомендуется включать WP_DEBUG при создании тем и плагинов.

Подробнее про WP_DEBUG.

WP_DEBUG_DISPLAY

Когда WP_DEBUG_DISPLAY = true, WordPress показывает ошибки экран. Если указать null, то WP будем использовать глобальную настройку PHP. Если указать false, то показ ошибок будет отключен.

Ошибки никогда не отображаются для XML-RPC, REST или AJAX запросов. Для них выключается настройка PHP ini_set( 'display_errors', 0 ), но при этом значение константы WP_DEBUG_DISPLAY не изменяется!

WP_DEBUG_LOG

Если включить WP_DEBUG_LOG, то ошибки будут записываться в файл debug.log в папке контента, обычно это wp-content.

Хуки из функции:
Возвращает

Ничего.

Использование

wp_debug_mode();

Примеры

Примеров нет.

Эта функцию используется ядром для управления над ошибками и не предназначена для использования в разработке.

Код wp debug mode: wp-includes/load.php VER 4.9.1

<?php
function wp_debug_mode() {
	/**
	 * Filters whether to allow the debug mode check to occur.
	 *
	 * This filter runs before it can be used by plugins. It is designed for
	 * non-web run-times. Returning false causes the `WP_DEBUG` and related
	 * constants to not be checked and the default php values for errors
	 * will be used unless you take care to update them yourself.
	 *
	 * @since 4.6.0
	 *
	 * @param bool $enable_debug_mode Whether to enable debug mode checks to occur. Default true.
	 */
	if ( ! apply_filters( 'enable_wp_debug_mode_checks', true ) ){
		return;
	}

	if ( WP_DEBUG ) {
		error_reporting( E_ALL );

		if ( WP_DEBUG_DISPLAY )
			ini_set( 'display_errors', 1 );
		elseif ( null !== WP_DEBUG_DISPLAY )
			ini_set( 'display_errors', 0 );

		if ( WP_DEBUG_LOG ) {
			ini_set( 'log_errors', 1 );
			ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
		}
	} else {
		error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
	}

	if ( defined( 'XMLRPC_REQUEST' ) || defined( 'REST_REQUEST' ) || ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) || wp_doing_ajax() ) {
		@ini_set( 'display_errors', 0 );
	}
}

Cвязанные функции

Из метки: debug (дебаг)

Грузоперевозка

грузоперевозка

novokuznetsk.dellin.ru

wp_debug_mode Комментариев нет

    Здравствуйте, !

    Ваш комментарий
    Предпросмотр