WP_GET_DEVELOPMENT_MODE(): Все о режимах разработки в WordPress

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.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *