Функция WP_REGISTER_SCRIPT() в WordPress
Введение
Функция wp_register_script() позволяет регистрировать новый скрипт в WordPress, чтобы его можно было подключить позже с помощью функции wp_enqueue_script(). Это полезно, когда вам нужно управлять загрузкой JavaScript-файлов на вашем сайте.
Возвращаемые значения
Функция возвращает:
- true, если скрипт успешно зарегистрирован.
- false, если произошла ошибка.
Использование функции
Синтаксис функции выглядит так:
wp_register_script( $handle, $src, $deps, $ver, $args );Параметры
- 
$handle (string, обязательный) — Уникальное имя для скрипта. Это имя будет использоваться при его подключении. 
- 
$src (string|false, обязательный) — Полный URL скрипта или путь к скрипту относительно корневой директории WordPress. Если установить false, то скрипт будет использоваться как псевдоним для других, от которых он зависит.
- 
$deps (array, необязательный) — Массив хэндлов зарегистрированных скриптов, от которых зависит данный скрипт. По умолчанию - пустой массив. 
- 
$ver (string|true|false|null, необязательный) — Версия скрипта, добавляемая к URL в виде строки для предотвращения кэширования. Если установить false, версия будет автоматически равна текущей версии WordPress. Установитеnull, чтобы не добавлять версию.
- 
$args (array|true|false, необязательный) — Дополнительные настройки загрузки скрипта. Может быть булевым значением, определяющим, будет ли скрипт выводиться в подвале страницы. По умолчанию - пустой массив. Варианты: - strategy (string)— Стратегия загрузки, может быть 'defer' или 'async'.
- in_footer (true|false)— Выводить ли скрипт в подвале. По умолчанию- false.
 
Примеры
1. Подключение jQuery из Google
Чтобы подключить jQuery из CDN Google, вы можете воспользоваться специальной статьей на эту тему.
2. Подключение внешнего скрипта (простой способ)
add_action( 'init', 'register_remote_scripts' );
add_action( 'wp_enqueue_scripts', 'add_remote_scripts' );
function register_remote_scripts(){
    wp_register_script( 'someScript-js', 'https://domain.com/someScript.js', '', '', true );
}
function add_remote_scripts(){
    wp_enqueue_script( 'someScript-js' );
}Или более компактный вариант:
add_action( 'wp_enqueue_scripts', 'add_remote_scripts' );
function add_remote_scripts(){
    wp_enqueue_script( 'someScript-js', 'https://domain.com/someScript.js', '', '', true );
}3. Зависимость одного скрипта от другого
add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );
function my_enqueue_scripts(){
    wp_register_script( 'first', get_template_directory_uri() . '/js/first.js' );
    wp_enqueue_script( 'second', get_template_directory_uri() . '/js/second.js', array( 'first' ) );
}В этом случае first.js будет загружен перед second.js, только если second.js будет подключен.
4. Отдельная регистрация скрипта и его подключение
add_action( 'init', 'register_myscripts' );
add_action( 'wp_enqueue_scripts', 'add_myscripts' );
// Регистрируем скрипт
function register_myscripts(){
    $url = get_template_directory_uri() . '/myscript.js';
    wp_register_script( 'myfirstscript', $url, ['jquery', 'jquery-ui'], 'v2.0', true );
}
// Подключаем скрипты
function add_myscripts() {
    wp_enqueue_script( 'myfirstscript' );
}5. Регистрация и подключение скрипта сразу
Если вы знаете, что файл будет нужен только на одной странице, можно зарегистрировать его сразу:
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method() {
    $script_url = plugins_url( '/js/newscript.js', __FILE__ );
    wp_enqueue_script( 'custom-script', $script_url, ['jquery'], '1.0', true );
}Примечания
- Для более подробной информации смотрите описание функции wp_enqueue_script().
- Обратите внимание на другие полезные функции, связанные со скриптами, такие как wp_add_inline_script(),wp_dequeue_script(), и другие.
Изменения
- Версия 2.1.0: Введена функция.
- Версия 4.3.0: Добавлено возвращаемое значение.
- Версия 6.3.0: Параметр $in_footerбыл изменен на$argsтипа массив.
Теперь вы знаете, как зарегистрировать и подключить скрипты в WordPress!
 
						