Проверка подключения скрипта с помощью функции wp_script_is()

WP_SCRIPT_IS() │ WP 2.8.0

Функция для проверки подключенности скрипта к очереди.

Описание функции

Функция wp_script_is() позволяет узнать, был ли определённый скрипт добавлен в очередь для подключения. Это полезно для оптимизации работы с JavaScript в ваших темах и плагинах.

Производительность

  • 1 раз — 0.000026 сек (очень быстро)
  • 50000 раз — 0.09 сек (для сравнения)

Версия PHP: 7.0.5, WordPress: 4.5.2

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

Функция возвращает true или false в зависимости от того, находится ли скрипт в очереди.

Использование

wp_script_is( $handle, $status );

Аргументы

  • $handle (строка) — название скрипта, который вы хотите проверить. Этот параметр обязательно указывать.
  • $status (строка) — статус скрипта, который нужно проверить. Возможные значения:
    • 'enqueued' — в очереди на подключение
    • 'registered' — зарегистрирован, но не в очереди
    • 'queue' — в очереди
    • 'to_do' — требует подключения
    • 'done' — был подключён
    • По умолчанию используется значение 'enqueued'.

Примеры

Пример 1: Проверка и подключение скрипта

В этом примере показано, как подключить скрипт /js/fluidvids.min.js, предварительно проверив, добавлен ли он уже в очередь.

Если скрипт уже подключён, код ничего не делает. Если нет, он будет подключён и добавлен в очередь для обработки:

if ( ! wp_script_is( 'fluid_vids', 'enqueued' ) ) {
    wp_register_script( 'fluid_vids', plugin_dir_url(__FILE__).'js/fluidvids.min.js' );
    wp_enqueue_script( 'fluid_vids' );
}

История изменений

  • С версии 2.8.0 — функция была введена.
  • С версии 3.5.0 — добавлено значение 'enqueued' как синоним для 'queue'.

Код функции

function wp_script_is( $handle, $status = 'enqueued' ) {
    _wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );

    return (bool) wp_scripts()->query( $handle, $status );
}

Связанные функции

  • wp_add_inline_script()
  • wp_dequeue_script()
  • wp_deregister_script()
  • wp_enqueue_media()
  • wp_enqueue_script()
  • wp_localize_script()
  • wp_register_script()
  • wp_script_add_data()

Условия (Conditional Tags)

WordPress предоставляет множество функций, которые позволяют проверять различные состояния и параметры. Вот некоторые из них:

  • is_admin() — проверяет, находитесь ли вы в админке.
  • is_home() — проверяет, находитесь ли вы на главной странице.
  • is_single() — проверяет, отображается ли конкретный пост.
  • is_page() — проверяет, отображается ли конкретная страница.

Эти функции могут быть полезны для создания динамических условий при подключении скриптов и стилей.

Теперь вы знаете, как использовать функцию wp_script_is() для работы с JavaScript в WordPress!

Leave a Reply

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