Библиотека jQuery используется на многих веб сайтах. В wordpress библиотека jQuery используется тоже. Многие плагины wordpress и шаблоны имеют имеют скрипты написанные на jQuery. Хочу рассказать (я не автор) об одном из способов, как можно "сэкономить" на jQuery в wordpress.
Недавно на блоге Константина я прочитал статью "25 советов по улучшению вашего кода jQuery". Кто интересуется jQuery советую прочитать все 25 советов, на блоге автора. Я же остановлюсь на 1 совете - "Загружайте библиотеку с Google Code". Тех кто захочет возразить, имхо с своего сервера всегда быстрее, не хочу сильно огорчать, я лично не заметил, может быть у меня сервер плохой. Используя данный способ библиотека jQuery скорее всего уже будет находиться в кеше у пользователя и не будет подгружаться с вашего сайта. Чем ни больше пользователей wordpress и других веб сайтов используют jQuery с данного URL, тем у большего числа пользователей jQuery будет браться из кэша, т.к. уже ранее она была загружена на обном из блогов, где используется этот способ. Также хочу заметить, что к примеру jQuery 1.3.2 весит 19кб (gzip), мой же сервер отдает без gzip и вес библиотеки jQuery примерно в 2 раза больше, если вспомнить про людей, у которых низкоскоростной интернет, то страница у них откроется быстрее, но это так к слову просто ).

Из картинки видно, что если использовать этот способ, то пользователю достаточно загрузить бибилиотеку jQuery всего 1 раз с любого из блогов, с остальных блогов и при повторном обращении к этому блогу, jQuery будет находиться уже в кеше браузера.
Не долго думая, друг поделился кодом, который заставляет wordpress подгружать jQuery не из папки с движком wordpress, а с google. В файл шаблона function.php нужно дописать следующий код:
if( !is_admin()){
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"), false, '1.2.6');
wp_enqueue_script('jquery');
}
Я использую wordpress 2.6.5 собственной сборки, поэтому мне хватает jQuery 1.2.6, хотя можно использовать jQuery 1.3.2 но для меня это не принципиально. Чтобы использовать jQuery 1.3.2 пишем следующее:
if( !is_admin()){
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"), false, '1.3.2');
wp_enqueue_script('jquery');
}
Я уже использую этот способ, предлагаю и вам.
ordPress
плагины

Не пойму зачем нужно:
if( !is_admin()){Когда все и так работает:
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"), false, '1.5.1');
wp_enqueue_script('jquery');
Это условие переопределяет jQuery только для пользователськой части сайта, не переопределяя скрипт для админки. Можно убрать условие, в админке тоже будет указанная вами версия грузится.
У меня в хедере ссылкой прописана подгрузка библиотеки jquery-1.3.2.min.js из папки с темой, для работы всплывающего меню. Если я убираю эти строчки, то меню не работает. По идее же так не должно быть, если вордпресс содержит и автоматически загружает эту библиотеку?
ВП автоматически ничего не загружает. Библиотека загружается через вызов wp_enqueue_script. Или если подгружается явно скрипт, или если этот скрипт зарегистрирован и стоит в зависимости.
Отличный способ. Работают все самописные скрипты, только я подключал новую версию.
if( !is_admin()){
wp_deregister_script(‘jquery’);
wp_register_script(‘jquery’, («https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js»), false, ’1.5.0′);
wp_enqueue_script(‘jquery’);
}
Обновляем jQuery до 1.3 в wordpress, Господа!
Спасибо! Интересный способ подключения Jquery.
Однако, никак не пойму, как всё-таки подключить правильно jquery чтобы это не отразилось на плагинах использующих ту же библиотеку?
Например, каким бы способом я ни подключал jquery, после этого перестает работать плагин Lightbox 2 (и все ему подобные)
Правильно подключать через функцию wp_enqueue_script. Но можно и через обычный тэг script.
Скорее всего дело в том, что лайтбокс эффект у вас подключается до вызова функции wp_head() в шапке. Функция wp_enqueue_script выводит скрипты именно на месте функции wp_head(). Или же все подключайте через wp_enqueue_script или попробуйте свои скрипты подключать ниже вызова функции wp_head() в шапке шаблона.
Странное дело.
Если подключить стандартный вордпрессовский JQUERY,
то пользовательские сниппеты не работают, плагины использующие эту библиотеку работают нормально.
Если заменить библиотеку гугловской, то пользовательские коды работают, а плагины работать перестают.
Вот и приходится выбирать либо красивая галерея на сайте, либо красивое выскользающее меню.
Я использую jQyery 1.4.2 в настоящий момент. У меня все работает. Возможно какие-то js скрипты несовместимы с вашей версией jQuery. Советую использовать самую последнюю версию библиотеки jQuery и уже отладчиком искать баги. Установите firebug, он в консоле отображает ошибки и предупреждения для js, возможно это как-то поможет вам найти в чем у вас проблема.
То что нужно! Большое спасибо!
WP v2.9, использую следующий код. swfobject мне нужен для uppod флеш плеера.
if(wp_script_is('jquery','registered')) { $ver = $wp_scripts->registered['jquery']->ver; wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/$ver/jquery.min.js"), false, $ver); if(!is_admin()) wp_enqueue_script('jquery'); $ver = $wp_scripts->registered['swfobject']->ver; wp_deregister_script('swfobject'); wp_register_script('swfobject', ("http://ajax.googleapis.com/ajax/libs/swfobject/$ver/swfobject.js"), false, $ver); if(!is_admin()) wp_enqueue_script('swfobject'); }