nurise
@nurise
Front-end, WordPress, Design

Почему не работает подключенный Jquery в WordPress?

function enqueue_scripts() {
  wp_enqueue_script( 'jquery', get_template_directory_uri() . '/bower_components/jquery/dist/jquery.js' );
  wp_enqueue_script( 'fotorama', get_template_directory_uri() . '/bower_components/fotorama/fotorama.js' );
  wp_enqueue_script( 'application', get_template_directory_uri() . '/javascripts/application.js' );
}


Тут все хорошо, JQuery подключается в Head, но отдает Uncaught TypeError: undefined is not a function в application.js и команды в консоли тоже не работают: $ или JQuery

$(document).ready(function() {
  App.Nav();
  App.Faq();
});


Пробовал и так и сяк. В чем может быть проблема?

UPD:
заметил, что Jquery подключается из wp-includes, когда как остальные через wp-content/themes
  • Вопрос задан
  • 1421 просмотр
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Потому что надо использовать noConflict
jQuery(document).ready(function($) {
  App.Nav();
  App.Faq();
});

2. Вообще загружать свой jQuery - плохая практика, лучше загружать родной, который идет вместе с WordPress (именно из папки wp-includes). Иначе вы рискуете, что какой-то плагин подключит его повторно. Проще всего указать jQuery в качестве dependency
function enqueue_scripts() {
  wp_enqueue_script( 'fotorama', get_template_directory_uri() . '/bower_components/fotorama/fotorama.js', array('jQuery') );
  wp_enqueue_script( 'application', get_template_directory_uri() . '/javascripts/application.js' );
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
03 мая 2024, в 21:24
400 руб./за проект
03 мая 2024, в 21:00
5000 руб./за проект
03 мая 2024, в 20:41
15000 руб./за проект