WordPress — как удалить jQuery и jQuery-migrate
В статье WordPress — не работает плагин WP-PostRatings я уже показывал, как удалить автоматически подгружаемый файл jQuery-migrate со своего сайта, но при этом оставить саму библиотеку jQuery, которая также загружается на автопилоте.
Но! ☝ Это не самое лучшее решение.
Во-первых, это вообще не кошерно, когда движок грузит что-то лишнее помимо твоей воли.
А во-вторых, та версия, что грузится сейчас (jquery-1.12.4) не работает с некоторыми JS скриптами.
Например, я запарился возиться с кнопкой «вверх» на сайте. Не знаю почему, но именно с этой версией кнопка упорно отказывалась не то, чтобы работать, а вообще отображаться. С другими версиями библиотеки jQuery она работает исправно, даже с более древними, а с этой — нет.
Поэтому я нашел другой метод (ссылка) и считаю его наиболее правильным.
Для начала нужно удалить зарегистрированный движком скрипт. Для этого в файле functions.php добавляем следующий код:
wp_deregister_script( 'jquery' );
А теперь нам надо зарегистрировать свой скрипт. Добавим в тот же файл functions.php вот такую конструкцию:
add_action( 'wp_enqueue_scripts', 'jquery_script_method' );
function jquery_script_method() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', false, null, true );
wp_enqueue_script( 'jquery' );
}
При этом самая свежая на сегодня версия библиотеки jQuery 3.3.1 будет загружена с CDN Google.
Если же вы хотите загружать ее самостоятельно, то скачайте файл библиотеки с официального сайта jQuery и добавьте его в свой шаблон. Код в файле functions.php нужно будет изменить на следующий:
add_action( 'wp_enqueue_scripts', 'jquery_script_method' );
function jquery_script_method() {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', '/wp-content/themes/ваша_тема/js/jquery-3.3.1.min.js', false, null, true );
wp_enqueue_script( 'jquery' );
}
Как видите, поменялась только ссылка в четвертой строке. Здесь путь к библиотеке и слово «ваша_тема» не забудьте заменить на ваш собственный адрес и на название вашего шаблона:
/wp-content/themes/ваша_тема/js/jquery-3.3.1.min.js
Удачи!