• Подскажите, пожалуйста, как использовать код jQuery в WordPress. Открываю сайт, просматриваю исходный код, в разделе <head> </head> есть такая строка:

    <script type='text/javascript' src='http://adres.domen/wp-includes/js/jquery/jquery.js?ver=1.11.1'></script>

    Ссылка на jquery.js рабочая, jQuery используется в теме, подключается в её header.php

    Но при этом вот этот код jQuery не работает, если добавить его в <head>:

    <script>
    
      function offsetAnchor() {
        if(location.hash.length !== 0) {
            window.scrollTo(window.scrollX, window.scrollY - 150);
        }
    }
    
    $(window).on("hashchange", function () {
        offsetAnchor();
    });
    
    window.setTimeout(function() {
        offsetAnchor();
    }, 1);
    
    </script>

    Замена знака $ на jquery не помогает.

    Если прописать, например, вот эту строку в <head>

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>

    то код начинает работать. Но при этом перестает работать выпадающее меню тем ы, которые, видимо, тоже используют jQuery
    Как правильно подключить jQuery или использовать встроенный, чтобы можно было использовать код подобный приведенному выше?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Юрій

    (@yube)

    Подскажите, пожалуйста, как использовать код jQuery в WordPress.

    Инструкция тут: Function Reference/wp enqueue script « WordPress Codex

    И обратите особое внимание на раздел «jQuery noConflict Wrappers».

    Юрий, спасибо за ответ. Уже изучал это описание, и насколько удалось понять, необходимо заменить знак $ на jquery. Но, как я указал в первом посте, результата нет, код все равно не работает. Или есть еще какие-то особенности режима noConflict() и встроенного jQuery?

    Модератор Юрій

    (@yube)

    необходимо заменить знак $ на jquery.

    На jQuery, если быть точным.

    Или есть еще какие-то особенности режима noConflict() и встроенного jQuery?

    Вроде нет. Но у разработчиков jQuery есть дурная манера не блюсти обратную совместимость, т.е. то, что работает в 1.10, может запросто не работать в 1.11. Поэтому берем в руки файербаг (или другой аналогичный инструмент), открываем «консоль» и смотрим, что покраснело от стыда. Вот так и живем 😉

    На jQuery, если быть точным

    Спасибо! В этом и была причина. Наконец-то заработали все скрипты. Десять раз читал описания и инструкции (в т.ч. на официальном сайте), нигде никто не написал об этом, не обратил внимание, что Q там прописная, что есть зависимость от регистра. Еще раз спасибо за помощь

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «jQuery и WordPress 4.1» закрыта для новых ответов.