makc9I
@makc9I
фрилансер, web разработчик

Почему не определяется подключенный jquery в wordpress?

Всем привет. Взялся за сайт, который был заброшен предыдущим программистом. На вордпрессе до этого делал только один полноценный сайт. Сразу заметил, что парень подключал стили и скрипты по-простому, просто копируя подобную строку в header:
<script src="<?php echo get_template_directory_uri(); ?>/js/jquery.js"></script>

И так вышло, что сам вордпресс тоже по дефолту цепляет jquery, и мне не удается подключить ни одного плагина из-за конфликтов двух подключенных jquery. Простое отключение подключаемого руками jquery не сработало. Решил для начала подключить скрипты правильным способом, через функцию wp_enqueue_scripts, подключил все стили и скрипты верным образом в файле functions.php, и вот теперь браузер ругается, что не понимает $ в скриптах, т.е. не видит подключенного jquery, хотя он подключен. В чем же дело? Как победить конфликт jquery?
Вот сайт
dc754-clip-298kb.png?nocache=1
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
Во-первых, в wp_enqueue_scripts третьим аргументом передаются зависимости. Убедитесь, что при подключении своих скриптов вы выставляете им зависимость от jquery.

Во-вторых, jquery в WP по умолчанию подключается в режим "noConflict", что означает, что используется переменная "JQuery", а не "$".
Для использования переменной "$", вам необходимо написать следующий скрипт:
var $ = jQuery.noConflict();
... и подключить стандартными средствами, не забыв указать и его в зависимостях у своих скриптов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
werty1001
@werty1001
undefined
В WP вроде jQuery в no-conflict mode, сделайте обертку:

(function($) {

    // your code with $ here

})(jQuery);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы