Получает текущий режим разработки: core
, plugin
, theme
, all
.
Режим разработки задается в файле wp-config.php через константу WP_DEVELOPMENT_MODE
. Например:
define( 'WP_DEVELOPMENT_MODE', 'all' )
Эта функция возвращает значение константы WP_DEVELOPMENT_MODE
. Значение предварительно проверяется, если оно не соответствует стандарту, то вернется пустая строка.
Режим разработки в WordPress - это режим отдельный от дебага (WP_DEBUG) или среды разработки wp_get_environment_type(). Он не влияет на обработку ошибок или отладку, а нужен, чтобы выполнять или не выполнять что-либо в режиме разработки. Например, плагин может проверить включен ли режим разработки плагинов и НЕ использовать кэширование для определенного участка кода в этом случае.
Используйте wp_is_development_mode( $mode ), когда нужно проверить, находится ли сайт в указанном режиме разработки.
Основа для: wp_is_development_mode() Хуков нет.
Возвращает
Строку
. Текущий режим разработки. Одно из:
core
plugin
theme
all
- специальное значение, означающее, что включены все три режима разработки (core, plugin и theme).''
(пустая строка) - режим разработки отключен или неправильно установлено значение константыWP_DEVELOPMENT_MODE
.
Использование
wp_get_development_mode();
Примеры
Допустим мы пишем плагин и хотим сделать так, чтобы в режиме разработки плагинов наш плагин не использовать кэширование, а в любом другом режиме использовал.
// какой-то код /* * Игнорирование транзитного кэша в режиме разработки 'core'. * Это нужно, чтобы не вмешиваться в рабочий процесс разработчика плагина. */ if ( ! wp_is_development_mode( 'plugin' ) ) { $transient_name = 'wp_core_block_css_files'; $files = get_transient( $transient_name ); if ( ! $files ) { $files = glob( wp_normalize_path( __DIR__ . '/**/**.css' ) ); set_transient( $transient_name, $files ); } } else { $files = glob( wp_normalize_path( __DIR__ . '/**/**.css' ) ); } // какой-то код
Список изменений
С версии 6.3.0 | Введена. |
Код wp_get_development_mode() WP 6.3
function wp_get_development_mode() { static $current_mode = null; if ( ! defined( 'WP_RUN_CORE_TESTS' ) && null !== $current_mode ) { return $current_mode; } $development_mode = WP_DEVELOPMENT_MODE; // Exclusively for core tests, rely on the `$_wp_tests_development_mode` global. if ( defined( 'WP_RUN_CORE_TESTS' ) && isset( $GLOBALS['_wp_tests_development_mode'] ) ) { $development_mode = $GLOBALS['_wp_tests_development_mode']; } $valid_modes = array( 'core', 'plugin', 'theme', 'all', '', ); if ( ! in_array( $development_mode, $valid_modes, true ) ) { $development_mode = ''; } $current_mode = $development_mode; return $current_mode; }
Cвязанные функции