Начиная с WordPress 2.7, многие библиотеки Javascript, в том числе и jQuery, стали по-новому подключаться к теме: через Script API, посредством удобной функции wp_enqueue_script.
Регистрация jQuery в WP-темах
Вы можете активировать jQuery в WordPress двумя различными способами. Первый из них основывается на размещении приведенного ниже кода в файле header.php перед закрывающим тегом </head>.
<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>
<script type="text/javascript">
//add jQuery code here
jQuery(document).ready(function() {
jQuery("p").click(function() {
alert("Hello world!");
});
});
</script>
Альтернативный вариант: зарегистрировать wp_enqueue_script в файле functions.php. Если ваша тема не имеет functions.php, достаточно создать такой файл и поместить его в корневую директорию, где находятся остальные файлы шаблона темы. Просто добавьте следующий код в файл functions.php:
<?php wp_enqueue_script('jquery');/*this registers jquery*/
function jq_test(){ /*This is your custom jQuery script*/
?>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("p").click(function() {
alert("Hello world!");
});
});
</script><?php
}
add_filter('wp_head', 'jq_test');/*this adds your script to the wp_
head() hook in the header.php file and ensures your custom jQuery
script is run*/
?>
Обход проблем с регистрацией jQuery
Первые мои попытки подключения jQuery через wp_enqueue_script неизменно заканчивались неудачей. Библиотека отказывалась работать. После длительного изучения WordPress Codex, я смог выделить для себя следующие факты:
- Если вы подключаете библиотеку jQuery в файле header.php, удостоверьтесь в том, что функция wp_enqueue_script находится выше, чем функция wp_head. Произвольный jQuery-код должен идти под функцией wp_head.
- Если вы регистрируете wp_enqueue_script в functions.php, удостоверьтесь, что ее объявление находится перед всеми остальными функциями, которые загружаются через add_filter в wp_head.
Связанные материалы:



spasibo!!! ochen pomogli