Функция IS_WP_VERSION_COMPATIBLE() для проверки совместимости с WP 5.2.0

Функция IS_WP_VERSION_COMPATIBLE() │ WP 5.2.0

Функция is_wp_version_compatible() проверяет, совместима ли версия WordPress, установленная на вашем сайте, с указанной необходимой версией.

Используется в

Эта функция используется, например, в функции validate_plugin_requirements().


Возвращаемое значение

Функция возвращает true или false.

  • Если требуемая версия совместима или пустая, возвращается true.
  • Если версия несовместима, возвращается false.

Синтаксис

Вызывается следующим образом:

is_wp_version_compatible( $required );

Где $required — это строка, указывающая минимально необходимую версию WordPress.

Параметры

  • $required (string) (обязательный) — минимальная требуемая версия WordPress.

Примеры использования

Пример 1: Проверка совместимости версии

get_bloginfo( 'version' ); // 5.2

is_wp_version_compatible( '4.9' );  // true
is_wp_version_compatible( '5.2' );  // true
is_wp_version_compatible( '5.2.1' ); // false
is_wp_version_compatible( '5.5' );  // false

Пример 2: Уведомление о неподходящей версии WordPress

Предположим, что вы создали плагин, который работает только на версиях WordPress 5.2 и выше. В таком случае вам нужно убедиться, что главный код плагина не выполняется, если установленная версия WordPress ниже необходимой.

Пример кода:

if ( is_wp_version_compatible( '5.2' ) ) {
    require_once __DIR__ . '/main-file-plugin.php';
} else {
    add_action( 'admin_notices', 'admin_php_version__error' );
}

function admin_php_version__error() {
    ?>
    

Плагин требует версию WordPress 5.2 или выше.

Код выше является примером и показывает, как отображать уведомление.


Примечания

  • Глобальная переменная. Строка $_wp_tests_wp_version содержит строку версии WordPress. Используется только в тестах ядра.

Изменения

  • Начиная с версии 5.2.0. Функция была введена в данной версии.

Как работает is_wp_version_compatible()

Функция is_wp_version_compatible определяет, совместима ли версия WordPress. Вот краткий обзор ее работы:

function is_wp_version_compatible( $required ) {
    if (
        defined( 'WP_RUN_CORE_TESTS' )
        && WP_RUN_CORE_TESTS
        && isset( $GLOBALS['_wp_tests_wp_version'] )
    ) {
        $wp_version = $GLOBALS['_wp_tests_wp_version'];
    } else {
        $wp_version = wp_get_wp_version();
    }

    // Убираем суффиксы: -alpha, -RC, -beta, -src
    list( $version ) = explode( '-', $wp_version );

    if ( is_string( $required ) ) {
        $trimmed = trim( $required );

        if ( substr_count( $trimmed, '.' ) > 1 && str_ends_with( $trimmed, '.0' ) ) {
            $required = substr( $trimmed, 0, -2 );
        }
    }

    return empty( $required ) || version_compare( $version, $required, '>=' );
}

Функция проверяет, определены ли тесты ядра и получает версию WordPress. Затем выполняется сравнение текущей версии с требуемой.


Теперь вы знаете, как использовать функцию is_wp_version_compatible() для проверки совместимости версий WordPress. Это важно для обеспечения правильной работы ваших плагинов и тем.

Leave a Reply

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