Enable jQuery Migrate Helper

Описание

С обновлением WordPress 5.5 инструмент миграции, известный как jquery-migrate, больше не включен по умолчанию. Это может привести к неожиданному поведению некоторых тем или плагинов, которые используют старый код.

Этот плагин служит временным решением, позволяя авторам плагинов и тем получить больше времени для обновления и тестирования своего кода.

С обновлением WordPress 5.6 обновляется также и поставляемая версия jQuery. Возможно что старый код, который ранее вызывал лишь предупреждения, теперь перестанет работать полностью или станет вызывать ошибки.

Впрочем, некоторые возможности могут просто перестать работать без последствий для функционала сайта.

Этот плагин позволяет использовать на сайте версию jQuery из предыдущих выпусков WordPress, в течении опредённого времени, чтобы дать вам возможность обновить плагины и темы использующие устаревший код (в.т.ч. сообщить их авторам о необходимости переписать код на более современный) или найти им замену. Вам не стоит рассматривать откат на старую версию jQuery как постоянное решение.

Установка

  1. Upload to your plugins folder, usually wp-content/plugins/.
  2. Activate the plugin on the plugin screen.
  3. That’s it! The plugin handles the rest automatically for you.

Часто задаваемые вопросы

Что означает что функция «устарела»?

Скрипт, файл или иной фрагмент кода считается устаревшим, когда разработчики заменяют его более современным или удаляют полностью.

Что изменилось в WordPress 5.6

С обновлением WordPress 5.6 обновляется также и поставляемая версия jQuery. Возможно что старый код, который ранее вызывал лишь предупреждения, теперь перестанет работать полностью или станет вызывать ошибки.
Этот плагин позволит при необходимости, вернуть старую версию jQuery (это также может произойти автоматически при определении использования старого кода). Что позволит вам выиграть еще больше времени до обновления или замены устаревших плагинов или темы.

Как использовать консоль разработчика в браузере

На WordPress.org имеется статья (на английском) по использованию консоли браузера для диагностики ошибок JavaScript.

Плагин не записывает в журнал предупреждения об использовании устаревших функций или смену версии jQuery

При наличии на сайте плагинов, которые объединяют JS файлы или загружают их асинхронно (т.н. плагины оптимизации/минификации/конкатенации) этот плагин может не работать должным образом.

Если вашему сайту требуется для работы этот плагин, то отключите другие плагины вмешивающиеся в загрузку JavaScript (например перечисленных выше типов). Как только вы решите проблемы, вы сможете отключить этот плагин и снова использовать другие инструменты оптимизации JS.

Как мне понять нужен мне этот плагин или нет

Если что-то на вашем сайте перестало работать после обновления WordPress, то вы можете установить и активировать этот плагин. Если это поможет, то оставьте его включенным и следуйте инструкциям плагина (Вам следует идентифицировать источник проблемного кода, сообщить его авторам о необходимости обновления и ждать пока они это сделают, либо подыскать достойную замену для проблемного плагина или темы). Плагин сообщит вам о том, когда его можно будет удалить.

На сайте море предупреждений при использовании jQuery версии 3

jQuery версии 3 только начала использоваться в WordPress, это ожидаемо.

Предупреждения об использовании устаревших функций означают, что инструмент миграции работает по обеспечению совместимости старого кода до тех пор, пока код не будет обновлен. При этом функции сайта продолжают работать как прежде.

Отзывы

04.01.2024
The WooCommerce checkout error was solved and customers can now purchase successfully again. jQuery.Deferred exception: Cannot read properties of undefined (reading 'defaults') TypeError: Cannot read properties of undefined (reading 'defaults')
18.11.2023 1 ответ
I really do think that you should still include or incorporate jquery migrate files in new versions or updates of wordpress. It's crazy that you know this is gonna crash a bunch of sites (like thousands) yet you do it anyway. Oh, and while I'm here, please get rid of the block editor (or whatever the hell it is) in these comments! It's not intuitive enough. Poor UX/UI. 😟☹️
28.04.2023 2 ответа
Congratulations to whoever made this plugin. There were some editor display issues on wordpress and the plugin fixed them. Now clearly I have to go back to the problem to restore the correct functioning of wordpress. but wow! it was amazing!
05.05.2022
This is an excellent plugin! Works perfectly! I just wish there was an option to turn off the message that says this is not a permanent fix.
18.02.2022
Boy did this come in handy. Thanks for doing this. It got the menus working. This will give us time to replace the existing theme with our own. Thanks again! JL nwcic.com
10.10.2021
I was tired of seeing the jQuery red error, so I made a site backup and installed the plugin thinking I would need to do some sort of tweaking. However, I looked immediately after the install and no error whatsoever. I was pleasantly surprised. 5 Stars for sure. Thanks.
Посмотреть все 109 отзывов

Участники и разработчики

«Enable jQuery Migrate Helper» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Enable jQuery Migrate Helper» переведён на 16 языков. Благодарим переводчиков за их работу.

Перевести «Enable jQuery Migrate Helper» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

v 1.4.0 (2023-07-31)

  • Fixed a bug where an empty error text would cause the plugin scripts from working properly.
  • Improved how inline scripts are detected and logged when applicable.
  • Improved logging to also capture deprecations within WordPress core.
  • Changed variable declarations for front-end scripts to use var instead of const and let, to improve compatibility for sites servicing older clients.
  • Updated the (modern) bundled jQuery Migrate script to match what is shipped with WordPress core.

v 1.3.0

  • Added legacy jQuery UI to be loaded if legacy jQuery is in use.
  • Added mention of site URLs in automatic emails.
  • Added option to enable/disable automatic downgrades.
  • Added logic to ensure only one downgrade request is sent per page load.
  • Updated logic around automatic downgrades for improved performance.
  • Fixed core deprecation notices being incorrectly labeled as undetermined inline ones.

v 1.2.0

  • Added settings page
  • Added option for downgrading to legacy jQuery
  • Added automatic downgrades
  • Added option to log deprecations in modern jQuery
  • Added e-mail notifications
  • Added weekly email digest of deprecations
  • Added option to allow logging deprecations from anonymous site visitors
  • Changed the handling of inline JavaScript code causing deprecation notices
  • Changed the admin bar to be two fixed links to avoid ever changing contexts
  • Changed the admin notices to be persistent when using legacy jQuery after upgrading to WordPress 5.6
  • Changed how concatenation is disabled, to address public-facing performance concerns
  • Fixed recommendation to remove plugin when not logging any deprecations having the wrong logic and not being displayed.

v 1.1.0

  • Added option to dismiss deprecation notices in backend
  • Added logging of deprecation notices in the front end
  • Added admin bar entry to show when deprecations occur
  • Added view of logged deprecations
  • Added dashboard notice encouraging users to remove the plugin if no deprecations have been logged in a while (1 week).
  • Changed the time interval between showing the dashboard nag from 2 weeks to 1 week, as WordPress 5.6 comes closer.

v 1.0.1

  • Fix one of the admin notices being non-dismissible.

v 1.0.0

  • Первый выпуск.