Я много раз писала про JQuery, в том числе и совместном его использовании в WordPress. Но о самом главном – о том как же все-таки правильно подключить его в шаблон, не разу не говорила, поскольку не придавала этому большого значения. И сегодня пришло время исправиться, и написать небольшую заметку об этом.
Если хотите, вы можете просто загрузить JQuery, положить на свой сервер и прописать ссылку на него в header.php
, в секции <head>
. Но это может причинить вам неудобства. Одна из причин – некоторые плагины использующие библиотеку JQuery, будут пытаться ее загрузить. Это может вызвать проблемы, поскольку плагину не будет известно, что она уже загружена.
Вторая причина в том, что Worpress уже включает в себя копию JQuery. Далее вы узнаете как можно загрузить JQuery в свою тему, правильным способом. Вставьте следующий код в файл header.php
, в секции <head>
:
[php]
<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>
[/php]
Ваша тема вероятно уже включает в себя функцию wp_head
, так что убедитесь что вы расположили вызов функции wp_enqueue_script
ДО функции wp_head
. Теперь вы можете включить вызов своего собственного JQuery JavaScript-файла ПОСЛЕ функции wp_head
.
[javascript]
<script type="text/javascript"
src="<?php bloginfo("template_url"); ?>/js/yourScript.js"></script>
[/javascript]
(прим. автора Функция wp_enqueue_script
(), как раз используется для безопасного подключения javascript в тему WordPress. Она может принимать следующие параметры:
[php]
<?php wp_enqueue_script( $handle, $src, $deps, $ver ); ?>
[/php]
$handle
(строка) (обязательный) Название скрипта. Без регистра.
По умолчанию: Нет
$src
(строка) (необязательный) Путь к скрипту из корневой директории WordPress. Например: “/wp-includes/js/scriptaculous/scriptaculous.js
“. Этот параметр необходим только когда WordPress ничего не знает об этом скрипте.
По умолчанию: Нет
$deps
(массив) (необязательный) Массив указателей на любые скрипты, от которых зависит этот скрипт; скрипты, которые должны быть загружены до этого скрипта. false
– если зависимостей нет. Этот параметр необходим только в том случае, когда WordPress ничего не знает об этом скрипте.
По умолчанию: Нет
$ver
(строка) (необязательный) Строка указывает номер версии скрипта, если их несколько. По умолчанию значение false
. Этот параметр используется для обеспечения отправки пользователю, правильной версии скрипта, независимо от кэша, и он обязательно должен быть включен, если доступен номер версии, и он влияет на работу скрипта.
По умолчанию: Нет).
В принципе вы уже можете действовать, но есть некоторые соображения. Например, избежать в будущем возможных конфликтов с другими библиотеками. Вы конечно не собираетесь сразу использовать несколько JS-библиотек, но лучше предусмотреть, чем потом сожалеть.
Чтобы максимально обезопасить себя от конфликтов, в можете перевести JQuery в «неконфликтный» режим и использовать другой шорткод. В нашем примере «$j
» вместо дефолтного «$
». Стандартный шорткод «$
», например, может конфликтовать с Prototype. Далее пример безопасного использования JQuery:
[javascript]
var $j = jQuery.noConflict();
$j(function(){
$j("#sidebar li a").hover(function(){
$j(this).stop().animate({
paddingLeft: "20px&"
}, 400);
}, function() {
$j(this).stop().animate({
paddingLeft: 0
}, 400);
});
});
[/javascript]
Можете ли вы узнать этот код? Мы использовали его для добавления анимации ссылок в сайдабре темы.
Leave a Reply to dreamhelg Cancel reply