WP_IS_DEVELOPMENT_MODE() │ WP 6.3.0
Функция WP_IS_DEVELOPMENT_MODE()
проверяет, находится ли ваш сайт в режиме разработки. Это важно для разработчиков, чтобы следить за тем, какие изменения и функции они тестируют.
Основная информация
Эта функция использует другую функцию — wp_get_development_mode()
.
Возврат значения
Функция возвращает:
true
— если текущий режим соответствует запрашиваемому,false
— в противном случае.
Использование
Функция вызывается так:
wp_is_development_mode( $mode );
Параметры
$mode
(строка, обязательный) — режим разработки, который нужно проверить. Это может быть один из следующих режимов:'core'
— для основного кода WordPress,'plugin'
— для плагинов,'theme'
— для тем,'all'
— для всех режимов.
Примеры
Пример 1: Отключение кэширования в режиме разработки темы
В этом примере из кода функции wp_get_global_styles_custom_css()
будет игнорироваться кэш, если установлен режим разработки темы:
/*
* Игнорируем кэш, когда режим разработки установлен на 'theme', чтобы не мешать работе разработчика темы.
*/
$can_use_cached = ! wp_is_development_mode( 'theme' );
$cache_key = 'wp_get_global_styles_custom_css';
$cache_group = 'theme_json';
if ( $can_use_cached ) {
$cached = wp_cache_get( $cache_key, $cache_group );
if ( $cached ) {
return $cached;
}
}
$tree = WP_Theme_JSON_Resolver::get_merged_data();
$stylesheet = $tree->get_custom_css();
if ( $can_use_cached ) {
wp_cache_set( $cache_key, $stylesheet, $cache_group );
}
Пример 2: Отключение кэширования для разработчиков плагинов
Предположим, вы разрабатываете плагин и хотите отключить кэширование в режиме разработки плагина:
/*
* Игнорируем транзитный кэш в режиме разработки '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_is_development_mode
:
function wp_is_development_mode( $mode ) {
$current_mode = wp_get_development_mode();
if ( empty( $current_mode ) ) {
return false;
}
// Возвращает true, если текущий режим охватывает все режимы.
if ( 'all' === $current_mode ) {
return true;
}
// Возвращает true, если текущий режим совпадает с запрашиваемым режимом.
return $mode === $current_mode;
}
Связанные функции
_doing_it_wrong()
get_num_queries()
wp_debug_backtrace_summary()
wp_debug_mode()
wp_get_development_mode()
wp_get_environment_type()
Эти функции могут быть полезны, если вы хотите глубже изучить работу WordPress и отладку.