Функция wp_register_script() в WordPress: синтаксис, параметры, примеры

Функция WP_REGISTER_SCRIPT() в WordPress

Введение

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

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

Функция возвращает:

  • true, если скрипт успешно зарегистрирован.
  • false, если произошла ошибка.

Использование функции

Синтаксис функции выглядит так:

wp_register_script( $handle, $src, $deps, $ver, $args );

Параметры

  1. $handle (string, обязательный) — Уникальное имя для скрипта. Это имя будет использоваться при его подключении.

  2. $src (string|false, обязательный) — Полный URL скрипта или путь к скрипту относительно корневой директории WordPress. Если установить false, то скрипт будет использоваться как псевдоним для других, от которых он зависит.

  3. $deps (array, необязательный) — Массив хэндлов зарегистрированных скриптов, от которых зависит данный скрипт. По умолчанию - пустой массив.

  4. $ver (string|true|false|null, необязательный) — Версия скрипта, добавляемая к URL в виде строки для предотвращения кэширования. Если установить false, версия будет автоматически равна текущей версии WordPress. Установите null, чтобы не добавлять версию.

  5. $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!

Leave a Reply

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