Подключение JavaScript файлов в WordPress происходит точно так же, как и подключение CSS файлов (ознакомьтесь со статьёй "
CSS файлы в WordPress"). То есть через специальные функции. Рассмотрим часть из них в этой статье.
Можно подключать JS файлы через тег script, но тогда будет невозможно использовать некоторые инструменты. К примеру, плагины для минификации JS кода или объединения JS файлов в один. Поэтому метод подключения JS файлов через PHP функции WordPress более предпочтителен.
wp_register_script - регистрирует JS файл в WordPress. После чего файл вставляется в документ через функции "wp_head" или "wp_footer" или с помощью функции
wp_enqueue_script.
wp_register_script( $handle, $src, $deps, $ver, $in_footer );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого JS файла (в нижнем регистре). |
$src |
строка |
Путь к файлу JS. Лучше использовать относительные пути (функции "plugins_url()" для плагинов и "get_template_directory_uri()" для тем) |
$deps |
массив |
Массив идентификаторов всех зарегистрированных JS файлов, которые будут подключены до этого. |
$ver |
строка/логический |
Версия, которая добавляется в конец URL через параметр, к примеру, "script.js?ver=5.2.4. Если не указана, то используется версия WordPress. |
$in_footer |
логический |
Место вывода JS скрипта: head или footer. Если параметр равен true (по умолчанию - false), то скрипт будет добавлен в конец тега "body", но при этом должен существовать вызов функции "wp_footer". |
wp_deregister_script - снимает регистрацию скрипта и не даёт ему выводиться.
wp_deregister_script( $handle );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого файла скрипта (в нижнем регистре). |
wp_dequeue_script - убирает JS скрипт из вывода, но не удаляет из зарегистрированных.
wp_dequeue_script( $handle );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого JS файла (в нижнем регистре). |
wp_script_is - показывает был ли JS файл зарегистрирован, добавлен в очередь на вывод или уже выведен.
wp_script_is( $handle, $list );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого JS файла (в нижнем регистре). |
$list |
строка |
Проверяемое условие. Возможные значения:
registered - файл был зарегистрирован, используя wp_register_script().
enqueued или queue - скрипты были добавлены в очередь.
to_do - скрипты еще не выведены на экран.
done - скрипты уже выведены на экран.
|
wp_add_inline_script - добавляет к выводу файла JS произвольный JS код.
wp_add_inline_script( $handle, $data );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого JS файла (в нижнем регистре). |
$data |
строка |
Чистый JS код, который будет добавлен. Не нужно обрамлять в тег "script". |
$position |
строка |
Определяет место, куда добавлять код: до вывода (значение "before") или после вывода (значение "after"). |
wp_enqueue_script - регистрирует и добавляет в очередь на вывод JS файл. Функция может быть использована в любом месте документа, а не только в "head" части.
wp_enqueue_script( $handle, $src, $deps, $ver, $media );
$handle |
строка |
Идентификатор (уникальное название). К примеру, название подключаемого JS файла (в нижнем регистре). |
$src |
строка |
Путь к JS файлу. Лучше использовать относительные пути (функции "plugins_url()" для плагинов и "get_template_directory_uri()" для тем) |
$deps |
массив |
Массив идентификаторов всех зарегистрированных JS файлов, которые будут подключены до этого. |
$ver |
строка/логический |
Версия, которая добавляется в конец URL через параметр, к примеру, "script.js?ver=5.2.4. Если не указана, то используется версия WordPress. |
$in_footer |
логический |
Место вывода JS скрипта: head или footer. Если параметр равен "true" (по умолчанию - "false"), то скрипт будет добавлен в конец тега "body", но при этом должен существовать вызов функции "wp_footer". |