WP_GET_DEVELOPMENT_MODE() │ WP 6.3.0
Функция WP_GET_DEVELOPMENT_MODE() позволяет узнать, какой режим разработки в данный момент установлен в WordPress. Это важно для разработчиков плагинов и тем, так как режим разработки влияет на поведение некоторых частей приложения WordPress.
Что такое режим разработки?
Режим разработки можно задать с помощью константы WP_DEVELOPMENT_MODE в файле wp-config.php. Возможные значения для этой константы:
'core'— режим разработки для ядра WordPress'plugin'— режим разработки для плагина'theme'— режим разработки для темы'all'— специальное значение, означающее, что включены все три режима ('core','plugin'и'theme')- пустая строка — отключение режима разработки
Важно заметить, что режим разработки не влияет на вывод отладки (debug), но может менять функциональность WordPress.
Функция wp_get_development_mode() возвращает текущее значение режима разработки. Чтобы проверить, активен ли конкретный режим разработки, используйте функцию wp_is_development_mode().
Примечание: Функция не имеет хуков.
Возврат значения
Функция возвращает строку с текущим режимом разработки.
Использование
Для получения текущего режима разработки можно вызвать:
$mode = wp_get_development_mode();
Примеры использования
1. Отключение кэширования для разработчиков плагинов
Предположим, мы разрабатываем плагин, и хотим так настроить его, чтобы в режиме разработки плагина кэширование не использовалось. В любом другом режиме кэширование должно работать.
Вот пример кода:
/*
- Игнорируем кэш в режиме разработки '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-includes/load.php:
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;
// Исключительно для тестов ядра, используйте глобальную переменную $_wp_tests_development_mode.
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;
}
Связанные функции
_doing_it_wrong()get_num_queries()wp_debug_backtrace_summary()wp_debug_mode()wp_get_environment_type()wp_is_development_mode()
Эти функции могут быть полезны при работе с отладкой и тестированием в WordPress.