Подключение «всегда свежей» версии JQuery в WordPress

Наверное вы знаете, что на некоторых сайтах можно встретить JQuery версии 1.4.2, на некоторых 1.4.4, а иногда даже 1.6.4 (это самая последняя версия на момент написания поста).

Понятно, что часть владельцев сайтов не имеют представления о JQuery и им плевать, что там у них подключено — главное, чтобы работало, другим же просто лень следить за выходом нового JQuery и постоянно обновлять код.

Как же сделать так, чтобы на сайте автоматически подключалась всегда только самая новая версия?

Проще простого, самая последняя версия JQuery всегда находится по адресу:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Если валидация будет ругаться на эту строчку кода, знайте, она написана в HTML5 :)

А вот пример подключения JQuery к WordPress. Учтите, это будет работать только в том случае, если в вашей теме присутствуют wp_head() и wp_footer().

add_action( 'init', 'true_jquery_register' );
 
function true_jquery_register() {
	if ( !is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', ( 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' ), false, null, true );
		wp_enqueue_script( 'jquery' );
	}
}

Вставьте этот код в файл functions.php. Он находится в папке с вашей текущей темой.

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

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

  • Максим26 мая 2012 в 04:05 #

    Спасибо! Первый из ~5 способов который корректно работает на моих сайтах. Постоянно возникали проблемы с JQuery, и загрузка с внешнего источника очень кстати.

  • Алексей25 июля 2012 в 12:07 #

    Очень интересный сайт. Подкину ещё способ, который отличается сначала проверкой админа и только после этого добавлением функции + линк я другой обычно использую + всё это закидывается только в футер:

    // Подключение внешнего упакованного jQuery в футер {
    function my_jQuery() {
    	wp_deregister_script('jquery');
    	wp_register_script('jquery','http://code.jquery.com/jquery.min.js','','AlwaysTheLatestVersion',true);
    }
    if( !is_admin()){add_action('init','my_jQuery');}
    // } Подключение внешнего упакованного jQuery в футер

    Таким же способом можно регистрировать другие библиотеки:

    // Подключение внешнего упакованного SWFObject в шапку {
    function my_SWFObject() {
    	wp_deregister_script('swfobject');
    	wp_register_script('swfobject','http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js','','2.2',false);
    }
    if( !is_admin()){add_action('init','my_SWFObject');}
    // } Подключение внешнего упакованного SWFObject в шапку
    // Подключение внешнего упакованного Prototype в футер {
    function my_Prototype() {
    	wp_deregister_script('prototype');
    	wp_register_script('prototype','https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js','','1.7.0.0',true);
    }
    if( !is_admin()){add_action('init','my_Prototype');}
    // } Подключение внешнего упакованного Prototype в футер
    • Алексей25 июля 2012 в 12:07 #

      Там очепятка получилась:
      *который отличается сначала проверкой админки.

  • Serj.sat27 ноября 2013 в 17:11 #

    Спасибо за все функции для wordpress =) многие внедрил на сайт! Успехов!

  • Алексей21 сентября 2015 в 16:09 #

    А для чего необходима проверка на админку?

  • Илья Волков12 апреля 2016 в 00:04 #

    У меня библиотека с примером из поста помещается в footer. Что нужно прописать чтобы

    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>

    попадала в head после тега title?

    • Илья Волков12 апреля 2016 в 07:04 #

      я вот по этому уроку http://eysman.pro/kak-vyvesti-modalnoe-vsplyvayushhee-okno-bez-plaginov.html
      (потом удалите - не спам)
      пытаюсь сделать всплывающее, модальное, popUP окно. Когда на кнопку нажимаешь, затемняется bg и появляется отцентрованная форма обратной связи или какой-нибудь другой формы.
      Знаю, что представленный способ работает на статических сайтах, а вот на WP - увы, но нет.
      нажимаю на кнопку и просто в урле site.re/# появляется...

    • Миша12 апреля 2016 в 07:04 #

      Чтобы она попала в head, измените последний аргумент функции wp_register_script() на false.

      Модальное не работает из-за ошибки в jQuery, тут много всяких ситуаций может быть. Если после перемещения jQuery в head ничего не изменится, откройте консоль браузера, посмотрите, что не так.

      • Илья Волков12 апреля 2016 в 13:04 #

        Спасибо, библиотека теперь в head. Эх, но не работает эта "всплывашка". Буду искать варианты как ее реализовать без плагинов.

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

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

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...