Отключаем подключение библиотеки jquery-migrate.min.js для сайта на WordPress.
Учитывая рост актуальности такого параметра как скорость работы сайта, веб разработчики стараются максимально очистить код от лишнего «мусора». При разборе результатов скорости сайта на основании того же gtmetrix, можно увидеть весь набор скриптов и файлов, которые подгружает страница вашего ресурса. Посмотреть данную информацию можно и в chrome, но в gtmetrix более наглядно. Одним из проблемных файлов, который подключается в WordPress является jquery-migrate.min.js.
Что это за файл — jquery-migrate.min.js?
Как раньше, так и сейчас многие разработчики плагинов и тем для WordPress используют JS библиотеку jQuery. Уже выпущено много версий этого скрипта, которые постоянно улучшаются, а часть старого функционала убирают. Исходя из этого старые плагины или же, темы где используется jQuery, при обновлении скрипта могут терять часть функционала и выдавать ошибки на сайте. Поскольку таких неподдерживаемых плагинов и тем много, в WordPreess был додан файл jquery-migrate.min.js, который собственно и обеспечивал совместимость как старых, так и новых версий jQuery.
Последние версии WordPress по умолчанию используют самую новую версию jQuery, и зачастую необходимость в дополнительном скрипте jquery-migrate просто отпала.
Где подключается данный скрипт?
Обычно он подключается в области head. Если вы хотите узнать если данный файл на вашем сайте, то можно зайти в код страницы через браузер и поискать строки вот такого плана.
Второй способ – это запустить инструменты веб разработчика в Chrome, и в консоли вы увидите надпись.
Основные причины чтобы убрать файл jquery-migrate.min.js из вашего сайта
Есть ряд преимуществ, которые вы получите, отключив данный скрипт на своем сайте.
На самом деле проблемы с ошибками могут возникнуть только в том случае, если у вас установлены очень старые плагины или тема, и тут лучше обновиться или использовать другое решение.
Один из вариантов протестировать наличие ошибок при удалении файла jquery-migrate.min.js – это включить режим define(‘SCRIPT_DEBUG’, true); в файле wp-config.php вашего сайта.
Отключаем скрипт jquery-migrate.min.js вручную с помощью кода
Для этого вам нужно найти файл functions.php в вашей темы на WordPress, сделать его бекап и только потом приступать к редактированию данного файла.
Вот этот код, вставляем в конце файла functions.php.
Используя плагин – «Remove jQuery Migrate»
Для этого вам нужно перейти в раздел «Плагины» — «Добавить новый», ввести в поиске название плагина, установить и активировать его.
С помощью WP Rocket Plugin и Clearfy Pro
Это платные плагины, но если они у вас установлены, то вы легко сможете решить проблему с файлом jquery-migrate.min.js.
Для WP Rocket Plugin, нужно сделать следующую настройку.
Еще один важный момент. После того, как вы удалите скрипт, протестируйте сайт и проверьте все формы, слайдеры и прочие элементы интерфейса. Если вы работали на локальном сервере и включали режим дебага в файле конфигурации, то перед переносом сайта на сервер его необходимо отключить.
Подключение jQuery с Google CDN с авто-определением версии
Правильное подключение jQuery в WordPress
Ошибка
Я не раз видел и даже сам упоминал в статья, не понимая всей важности ошибки. В примерах я говорил и говорил о подключении jQuery в WordPress, путем добавления в часть документа такой строки:
Правильный вариант подключения jQuery скрипта
Вставлять этот код нужно в файл темы functions.php. После того, как скрипт сработает, в части документа появится следующая строка:
CDN при подключении jQuery в WordPress
Пример выше показывает, как подключить jQuery из файлов самого WordPress, тогда как я бы рекомендовал подключать jQuery с CDN Google. Такое подключение имеет ряд преимуществ:
jQuery с Google CDN
Чтобы подключить jQuery с CDN Google, нужно сначала отметить уже зарегистрированный в WordPress скрипт jQuery и зарегистрировать его еще раз с новым адресом. Делается это путем добавления в functions.php такого кода:
В результате мы получим такие строки в head части документа:
Подключение jquery-migrate плагина означает, что если у вас есть ошибки несовместимости с версией 1.9.x (т.е. ваш код был написан под более ранние версии), jQuery продолжит работать, а ошибки можно будет исправить по мере выявления.
Посмотреть актуальные на сегодня ссылки на jQuery в каталоге Google можно здесь.
Отключаем jquery-migrate.js
Если jquery-migrate.js не нужен, а нужен только jQuery, то используйте такой код для подключения jQuery:
Тут отменив jquery мы автоматически отменяем привязку mirgate к jQuery. В результате получим только такую строку:
true в конце значит, что скрипт, по возможности, будет подключен в подвал сайта.
Если есть другие скрипты которые подключаются в head часть и зависят от jQuery, то несмотря на последний аргумент true, jquery все равно будет подключен в head часть документа, что логично.
За вариант с перерегистрацией ‘jquery-core’ и ‘jquery’ спасибо Paul, его статьи об этом.
WordPress Версия jQuery с CDN
Пример ниже показывает, как подключить jQuery той версии, которая используется в WordPress, но с сервиса CDN:
WordPress.org
Русский
Enable jQuery Migrate Helper
Описание
Этот плагин служит временным решением, позволяя авторам плагинов и тем получить больше времени для обновления и тестирования своего кода.
С обновлением WordPress 5.6 обновляется также и поставляемая версия jQuery. Возможно что старый код, который ранее вызывал лишь предупреждения, теперь перестанет работать полностью или станет вызывать ошибки.
Впрочем, некоторые возможности могут просто перестать работать без последствий для функционала сайта.
Этот плагин позволяет использовать на сайте версию jQuery из предыдущих выпусков WordPress, в течении опредённого времени, чтобы дать вам возможность обновить плагины и темы использующие устаревший код (в.т.ч. сообщить их авторам о необходимости переписать код на более современный) или найти им замену. Вам не стоит рассматривать откат на старую версию jQuery как постоянное решение.
Установка
Часто задаваемые вопросы
Что означает что функция «устарела»?
Скрипт, файл или иной фрагмент кода считается устаревшим, когда разработчики заменяют его более современным или удаляют полностью.
Что изменилось в WordPress 5.6
С обновлением WordPress 5.6 обновляется также и поставляемая версия jQuery. Возможно что старый код, который ранее вызывал лишь предупреждения, теперь перестанет работать полностью или станет вызывать ошибки.
Этот плагин позволит при необходимости, вернуть старую версию jQuery (это также может произойти автоматически при определении использования старого кода). Что позволит вам выиграть еще больше времени до обновления или замены устаревших плагинов или темы.
Как использовать консоль разработчика в браузере
Плагин не записывает в журнал предупреждения об использовании устаревших функций или смену версии jQuery
При наличии на сайте плагинов, которые объединяют JS файлы или загружают их асинхронно (т.н. плагины оптимизации/минификации/конкатенации) этот плагин может не работать должным образом.
Если вашему сайту требуется для работы этот плагин, то отключите другие плагины вмешивающиеся в загрузку JavaScript (например перечисленных выше типов). Как только вы решите проблемы, вы сможете отключить этот плагин и снова использовать другие инструменты оптимизации JS.
Как мне понять нужен мне этот плагин или нет
Если что-то на вашем сайте перестало работать после обновления WordPress, то вы можете установить и активировать этот плагин. Если это поможет, то оставьте его включенным и следуйте инструкциям плагина (Вам следует идентифицировать источник проблемного кода, сообщить его авторам о необходимости обновления и ждать пока они это сделают, либо подыскать достойную замену для проблемного плагина или темы). Плагин сообщит вам о том, когда его можно будет удалить.
На сайте море предупреждений при использовании jQuery версии 3
jQuery версии 3 только начала использоваться в WordPress, это ожидаемо.
Предупреждения об использовании устаревших функций означают, что инструмент миграции работает по обеспечению совместимости старого кода до тех пор, пока код не будет обновлен. При этом функции сайта продолжают работать как прежде.
Отключение jQuery migrate в WordPress: 3 лучших способа
Время идет, плагины и системы управления сайтами обновляются. Часть скриптов остается неизменна, поэтому разработчики предусмотрели запасной вариант: jQuery migrate – скрипт, позволяющий использовать устаревшие версии утилит и шаблонов. Разбираемся, нужно ли оставлять его сегодня или удалять из WordPress.
JQuery migrate в WordPress: что это и зачем нужно
jQuery – язык, применяемый разработчиками утилит, в силу своей простоты и опциональности. Сам он – набор готовых команд, реализовывающих план быстрее, без ущерба контенту.
Как и любой ЯП, н развивается и становится совершеннее, поэтому выпущенные ранее продукты требуют переработки под обновленные требования. Но часть из модулей или тем уже заброшена командой разработчиков, что значит, что они не будут обновляться. В таких ситуациях необходим джейквери migrate, поддерживающий в новой сборке WordPress устаревшие элементы.
Влияние на сайт
Ответив на вопрос, для чего нужен jQuery migrate, можно сразу выявить несколько минусов:
Отключить jQuery migrate из WordPress
Как и любая функция, эта библиотека удаляете двумя путями: при помощи или вставки системной функции, которая может навредить всему ресурсу, или утилит, никак не влияющих на возможные предупреждения.
При помощи Clearfy PRO
Русифицированное дополнение, исправляющее ошибки ВордПресс “из коробки” и проводящее базовое SEO аудит с исправлением ошибок. Чтобы воспользоваться нужной функцией, перейдите в раздел “Код”, расположенный в системном конфиге модуля (вкладка в левом сайдбаре с названием). После активируйте нужный чекбокс и примените изменения.
После обязательно проверьте работу модулей и функций темы, если возникают ошибки – откатите правки, если все нормально – волноваться не стоит.
-15% по промокоду wpboost
Через плагин Remove WordPress OH
Популярный, однако нерусифицированный модуль, направленный на устранение лишних фрагментов кода. Рекомендую для начала отключить встроенную оптимизацию под CDN и jQuery migrate, однако не стоит выбирать “Select all” – вместе с бесполезными возможностями могут отключиться важные элементы функционирования сайта.
Используя PHP вставку
Способ для опытных вебмастеров, знающих как работать с кодом. Его суть заключается во внедрении скрипта, который будет удалять ненужную опцию. Чтобы это сделать:
Теперь внимательно проверьте работоспособность сайта. Если возникли какие-либо ошибки или часть плагинов пропала или вовсе не работает, то разумно будет откатить изменения и не прибегать к удалению jQuery migrate из WordPress.
jQuery 3.0 Final Released
9 июня 2016 года состоялся официальный релиз jQuery 3.0, которая была в разработке с октября 2014 года. Нашей целью было создание более легкой и быстрой версии jQuery (конечно, с обратной совместимостью). Мы удалили все старые костыли для IE и использовали некоторое более современное веб API там, где это необходимо. jQuery 3.0 является продолжением ветки 2.x, но с некоторыми изменениями, которые давно хотели внести. Такие ветки как 1.12 и 2.2 будут получать критические патчи в течение некоторого времени, но ожидать новый функционал в них не стоит. jQuery 3.0 — это будущее jQuery. Если вдруг Вам нужна поддержка IE 6-8, Вы можете продолжать использовать релиз версии 1.12.

Мы ожидаем, что апгрейд Ваших проектов до версии 3.0 не доставит много хлопот. Да, есть несколько критических изменений, оправдавших главную фишку версии, и мы надеемся, что это не сильно повлияет на процесс обновления.
Для помощи в апгрейде мы добавили новое руководство по обновлению до версии 3.0, а плагин jQuery Migrate 3.0 поможет определить проблемы совместимости в коде. Ваше мнение об изменениях очень поможет нам и поэтому, пожалуйста, попробуйте его на Вашем текущем проекте.
Разумеется, файлы jQuery 3.0 доступны из CDN:
Также можно установить через npm:
Кроме того, у нас есть релиз jQuery Migrate 3.0. Мы настоятельно рекомендуем его использовать для устранения проблем, связанных с измененным функционалом в jQuery 3.0. Файлы также доступны в CDN:
Для подробной информации об апгрейде веток jQuery 1.x и jQuery 2.x на jQuery 3.0 с плагином jQuery Migrate, читайте пост jQuery Migrate 1.4.1.
Тонкая сборка
Наконец-то мы добавили что-то новое к этому релизу. Если Вам не нужен AJAX, или предпочитаете использовать одну из множества библиотек, ориентированных на AJAX-запросы, а также проще использовать комбинацию CSS с манипуляциями классов для всей анимации, то наряду с обычной версией jQuery, включающей в себя AJAX и модули эффектов, мы выпускаем «тонкую» версию, которая их не содержит. В общем, этот код считается устаревшим и мы просто его выбросили (шутка). В наше время размер jQuery очень редко беспокоит производительность, но тонкая версия на целых 6 Кб меньше обычной — 23.6к против 30к.
Эти файлы также доступны в CDN:
Эта сборка создана при помощи кастомной сборки API, позволяющей включать или исключать любые модули. Для получения дополнительной информации читайте jQuery README.
Совместимость с jQuery UI и jQuery Mobile
Большинство методов будет работать, но есть несколько моментов, которые мы реализуем в ближайшее время в jQuery UI и jQuery Mobile. Если Вы обнаружили проблему, имейте ввиду, что она может быть уже опубликована раннее и при помощи плагина jQuery Migrate 3.0 устранена. Ожидайте релизов в ближайшее время.
Большие изменения
В этой статье приведены лишь основные моменты новых возможностей, улучшений и исправлений. Более подробно можно прочитать в инструкции по апгрейду. Полный список исправленных проблем доступен в нашем баг-трекере на GitHub. Если Вы читали блог по 3.0.0-rc1, приведенные ниже функции не изменились.
jQuery.Deferred теперь Promises/A+ совместимо
Объекты jQuery.Deferred были обновлены для совместимости с Promises/A+ и ES2015 Promises и проверены при помощи Promises/A+ Compliance Test Suite. Это значит, что в методе .then() необходимо внести несколько существенных изменений. Конечно, можно восстановить любое использование .then() путем переименования в .pipe(), ныне считающимся устаревшим (и имеющим одинаковую сигнатуру).
1 исправление
Добавили в .then() функцию обратного вызова (колбэк). Раньше приходилось вызывать исключение для выполнения функции обратного вызова. При этом, любые данные, опирающиеся на возврате ответа никогда не вернутся в качестве исключений.
2 исправление
Раньше при регистрации «first callback» получали ошибку и весь последующий код прекращал работу. Ни второй «колбэк», ни третий не были зарегистрированы. Новый, совместимый со стандартами «колбэк», в случае успеха возвращает true. err — это значение отказа первого колбэка.
Состояние разрешения Deferred, созданного .then(), сейчас контролируется обратными вызовами-исключениями, возвращающими значения и non-thenable. В предыдущих версия, возвращались rejection значения.
Раннее, лог содержал “rejection callback 1 value1”, “rejection callback 2 value2”, and “rejection callback 3 undefined”.
Совместимый с новыми стандартами метод будет записывать логи вида: “rejection callback 1 value1”, “success callback 2 value2″, and “rejection callback 3 [object Error]”.
3 исправление
Колбэк всегда вызывается асинхронно, даже если Deferred был возвращен. Раньше они были синхронными.
Раньше, лог содержал “success callback” then “after binding”. Теперь будет иметь вид “after binding” and then “success callback”.
ВНИМАНИЕ! В то время, как пойманные исключения имеют преимущества для отладки в браузере, это гораздо более «дружелюбный» метод, чтобы изучить причину возникновения колбэков. Имейте ввиду, что это всегда налагает на Вас ответственность в добавлении хотя бы одного колбэка для обработки отказов. В противном случае, ошибки могут остаться незамеченными.
Мы разработали совместимый с Deferreds плагин для помощи в дебаге — Promises/A+. Если Вы не видите нужной информации об ошибке в консоли для определения его источника, проверьте установлен ли плагин jQuery Deferred Reporter Plugin.
jQuery.when также был обновлен для принятия любого thenable объекта, который включает в себя собственные объекты Promise.
https://github.com/jquery/jquery/issues/1722
https://github.com/jquery/jquery/issues/2102
В случае ошибок главное не молчать
Возможно, Вы когда-либо задавались сумасшедшим вопросом «что за смещение окна?».
В прошлом, jQuery иногда пыталась вернуть такое нечто вместо обработки ошибок. В данном конкретном случае просит сместить окно до тех пор, пока оно не будет в положении . С помощью jQuery 3.0 такие случаи будут бросать ошибки, игнорируя эти безбашенные ответы.
https://github.com/jquery/jquery/issues/1784
Удалены устаревшие псевдонимы событий
Теперь с использованием анимации
На платформах, поддерживающих requestAnimationFrame API, который нынче всюду, кроме IE Список изменений тут









