wp_enqueue_script()

Добавляет в очередь скрипт
Функция WordPress
INT 2.1.0
WordPress Icon

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

Функция wp_enqueue_script() используется для добавления скриптов на страницу WordPress. Она регистрирует указанный скрипт в системе и добавляет его в очередь загрузки. После этого скрипт будет загружен и подключен на странице в соответствии с настройками, указанными в аргументах функции.

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

wp_enqueue_script( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, array|bool $args = array() )

В этом примере кода показано, как использовать функцию wp_enqueue_script(). В аргументах функции указываются следующие параметры:

  • $handle (обязательный) — имя скрипта. Должно быть уникальным.
  • $src (необязательный) — полный URL скрипта или путь к скрипту относительно корневой директории WordPress. По умолчанию: пустая строка.
  • $deps (необязательный) — массив зарегистрированных скриптов, от которых зависит данный скрипт. По умолчанию: пустой массив.
  • $ver (необязательный) — строка, указывающая версию скрипта. Если указано значение false, к URL скрипта будет автоматически добавлена версия текущей установленной версии WordPress. Если указано значение null, версия не будет добавлена. По умолчанию: false.
  • $args (необязательный) — массив дополнительных стратегий загрузки скрипта. Может быть также булевым значением, определяющим, будет ли скрипт выведен в подвале страницы. По умолчанию: false.
<?php
// Регистрируем скрипт
wp_enqueue_script( 'my-script', '/path/to/my-script.js', array( 'jquery' ), '1.0', array( 'in_footer' => true ) );
?>

В этом примере кода мы регистрируем скрипт с именем «my-script». Путь к скрипту указан как «/path/to/my-script.js». Скрипт зависит от скрипта «jquery», который должен быть зарегистрирован ранее. Версия скрипта указана как «1.0». Скрипт будет выведен в подвале страницы.

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

Загрузка скрипта с помощью функции wp_enqueue_script()


/**
 * Enqueue a script.
 *
 * @param string $handle Name of the script. Should be unique.
 * @param string $src Full URL of the script, or path of the script relative to the WordPress root directory. Default: ''
 * @param string[] $deps An array of registered script handles this script depends on. Default: array()
 * @param string|bool|null $ver String specifying script version number, if it has one, which is added to the URL as a query string for cache busting purposes. Default: false
 * @param array|bool $args An array of additional script loading strategies. Otherwise, it may be a boolean in which case it determines whether the script is printed in the footer. Default false.
 */
wp_enqueue_script( $handle, $src, $deps, $ver, $args );

Добавление зависимостей для скрипта


// Example 1: Enqueue a script with dependencies
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array( 'jquery' ) );
// Example 2: Enqueue multiple scripts with dependencies
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array( 'jquery', 'another-script' ) );

Установка версии скрипта


// Example 1: Enqueue a script with a specific version
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), '1.0.0' );
// Example 2: Enqueue a script with the current WordPress version as the version number
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), false );

Использование дополнительных стратегий загрузки скрипта


// Example 1: Enqueue a script with the 'defer' loading strategy
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), false, array( 'strategy' => 'defer' ) );
// Example 2: Enqueue a script with the 'async' loading strategy
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), false, array( 'strategy' => 'async' ) );

Размещение скрипта в подвале страницы


// Example: Enqueue a script to be printed in the footer
wp_enqueue_script( 'my-script', 'path/to/my-script.js', array(), false, array( 'in_footer' => true ) );

Вопросы и ответы

Как подключить скрипт в WordPress с помощью функции wp_enqueue_script()?

Функция wp_enqueue_script() используется для подключения скриптов в WordPress. Она позволяет добавить скрипт на страницу только в том случае, если он еще не был добавлен ранее.

Для подключения скрипта необходимо указать его уникальное имя, полный URL или путь к скрипту относительно корневой директории WordPress.

Пример использования функции wp_enqueue_script():


wp_enqueue_script( 'my-script', '/path/to/my-script.js' );

Как указать зависимости для подключаемого скрипта в функции wp_enqueue_script()?

В функции wp_enqueue_script() можно указать зависимости для подключаемого скрипта. Зависимости — это другие зарегистрированные скрипты, от которых зависит текущий скрипт.

Зависимости указываются в виде массива с именами зарегистрированных скриптов.

Пример использования зависимостей в функции wp_enqueue_script():


wp_enqueue_script( 'my-script', '/path/to/my-script.js', array( 'jquery', 'another-script' ) );

Как добавить версию скрипта в URL с помощью функции wp_enqueue_script()?

Функция wp_enqueue_script() позволяет добавить версию скрипта в URL для целей кэширования. Версия скрипта указывается в виде строки и добавляется в URL в виде параметра запроса.

Если параметр версии установлен в значение false, автоматически будет добавлена версия текущей установленной версии WordPress. Если параметр версии установлен в значение null, версия не будет добавлена.

Пример использования версии скрипта в функции wp_enqueue_script():


wp_enqueue_script( 'my-script', '/path/to/my-script.js', array(), '1.0' );

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

Функция wp_enqueue_script() позволяет подключать скрипты в WordPress. По умолчанию, скрипты подключаются в порядке их вызова в коде. Иногда требуется изменить порядок подключения скриптов.

Для изменения порядка подключения скриптов, необходимо использовать параметр $deps функции wp_enqueue_script(). В этот параметр передается массив с именами зарегистрированных скриптов, от которых зависит текущий скрипт. Таким образом, можно указать, что текущий скрипт должен быть подключен после указанных скриптов.

Пример кода:


// Подключение скрипта 'script1' после скрипта 'script2'
wp_enqueue_script( 'script1', 'url/to/script1.js', array( 'script2' ) );

Как добавить атрибуты defer или async к подключаемому скрипту в функции wp_enqueue_script()?

Функция wp_enqueue_script() также позволяет добавлять атрибуты defer или async к подключаемому скрипту.

Для добавления атрибута defer, необходимо использовать параметр $args функции wp_enqueue_script(). В этот параметр передается массив с ключом 'defer' и значением true.

Для добавления атрибута async, также необходимо использовать параметр $args. В этот параметр передается массив с ключом 'async' и значением true.

Пример кода:


// Подключение скрипта 'script' с атрибутом defer
wp_enqueue_script( 'script', 'url/to/script.js', array(), false, array( 'defer' => true ) );
// Подключение скрипта 'script' с атрибутом async
wp_enqueue_script( 'script', 'url/to/script.js', array(), false, array( 'async' => true ) );

Как вывести подключаемый скрипт в подвале страницы с помощью функции wp_enqueue_script()?

По умолчанию, скрипты, подключенные с помощью функции wp_enqueue_script(), выводятся в секции <head> страницы. Иногда требуется вывести скрипт в подвале страницы.

Для вывода скрипта в подвале страницы, необходимо использовать параметр $args функции wp_enqueue_script(). В этот параметр передается массив с ключом 'in_footer' и значением true.

Пример кода:


// Подключение скрипта 'script' в подвале страницы
wp_enqueue_script( 'script', 'url/to/script.js', array(), false, array( 'in_footer' => true ) );

Как удалить подключаемый скрипт с помощью функции wp_enqueue_script()?

Если требуется удалить подключаемый скрипт, который был ранее добавлен с помощью функции wp_enqueue_script(), можно воспользоваться функцией wp_deregister_script().

Пример кода:


// Удаление скрипта 'script'
wp_deregister_script( 'script' );

Функция wp_enqueue_script() позволяет удобно подключать скрипты в WordPress. С ее помощью можно изменять порядок подключения скриптов, добавлять атрибуты defer или async, выводить скрипты в подвале страницы и удалять подключаемые скрипты. Это очень полезная функция для WEB-разработчиков WordPress, которая позволяет более гибко управлять подключаемыми скриптами.

Связанные элементы

  • Функция wp_register_script(): Регистрирует новый скрипт для последующей загрузки.
  • Функция wp_deregister_script(): Отменяет регистрацию скрипта.
  • Хук wp_enqueue_scripts: Вызывается перед загрузкой всех скриптов и стилей на странице.
  • Хук script_loader_src: Позволяет изменить URL скрипта перед его загрузкой.
  • Хук script_loader_tag: Позволяет изменить HTML-разметку тега <script> перед его выводом на страницу.
  • Хук wp_print_scripts: Вызывается перед выводом всех зарегистрированных скриптов на странице.
  • Хук wp_print_footer_scripts: Вызывается перед выводом всех зарегистрированных скриптов в подвале страницы.
  • Хук wp_default_scripts: Позволяет изменить список скриптов, которые загружаются по умолчанию.
  • Класс WP_Scripts: Предоставляет методы для работы со скриптами, включая их регистрацию и загрузку.
Обсуждение