wp_register_script() — регистрирует файлы JavaScript

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

wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false )
$handle
(строка) идентификатор, рабочее название (строка в нижнем регистре, можно взять с потолка)
$src
(строка) абсолютный URL к файлу со скриптом
$deps
(массив) зависимости от других js-файлов, массив должен содержать рабочие названия файлов, от которых имеются зависимости
$ver
(строка) версия файла, по умолчанию false — установленная версия WordPress, null — без версии вообще
$in_footer
(логическое) если true — подключение должно происходить перед закрывающим тегом </body>, если false — то внутри тегов <head>

Примеры

Не рекомендуется использовать эту функцию напрямую в коде, вместо этого воспользуйтесь хуками:

  • wp_enqueue_scripts — для фронтэнда
  • admin_enqueue_scripts — для админки
  • login_enqueue_scripts — для страницы входа на сайт
function registering_myscript(){
	wp_register_script( 'myscript', get_stylesheet_directory_uri() . '/script.js' );
}
 
add_action( 'wp_enqueue_scripts', 'registering_myscript' );

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

Пример с jQuery в админке:

function deregister_jquery(){
	wp_deregister_script( 'jquery' );
	wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' );
}
 
add_action( 'admin_enqueue_scripts', 'deregister_jquery' );

Комментарии 2

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...