Enable jQuery Migrate Helper

Description

With the update to WordPress 5.5, a migration tool known as jquery-migrate was no longer enabled by default. This may lead to lacking functionality or unexpected behavior in some themes or plugins that run older code.

This plugin serves as a temporary solution, enabling the migration script for your site to give your plugin and theme authors some more time to update, and test, their code.

With the update to WordPress 5.6, the included version of jQuery is also upgraded. This means that old code that previously caused warnings now may instead may cause errors or stop working entirely.

Some of the features no longer working will just stop working behind the scenes without any apparent problem.

The plugin will let you downgrade to a previous version of jQuery for a period, but as a site administrator you are encouraged to get the underlying issue fixed.

Installation

  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.

FAQ

What does it mean that something is “deprecated”

A script, a file, or some other piece of code is deprecated when its developers are in the process of replacing it with more modern code or removing it entirely.

What happens after WordPress 5.6

With the release of WordPress 5.6, the jQuery version also gets updated. This means that plugins or themes that previously caused deprecation warnings now instead will cause errors.
This plugin will allow you to, temporarily, return to the previous version of jQuery if this happens (it will also try to do so automatically for website visitors the first time an error happens) allowing you to fix the code, or replace it.

How do I find and use the browser console

feibisi.org has an article about using the browsers console log to diagnose JavaScript errors.

The plugin isn’t logging deprecations or changing jQuery versions

If your site has any plugins for combining JavaScript files, or loading them asynchronously, this plugin may be negatively affected and not be able to operate as intended.

If your site requires this plugin to operate, please disable any plugins which interact with the loading of JavaScript files such as the types mentioned above. Once the underlying issue has been resolved, you may remove this plugin and re-enable those other tools.

How do I know if I need this plugin, or not

If something isn’t working correctly on your site after you upgraded WordPress, then you can simply try installing and activating this plugin. If this helps, then you leave this plugin activated and follow the instructions in the plugin. The plugin will tell you when you don’t need it any more.

There are a lot of deprecation warnings when using jQuery version 3

As jQuery version 3 is very new to WordPress, this is expected.

Deprecated notices means that the Migration tool is in place making sure these features still continue working while the related code is updated.

Reviews

January 13, 2021
Enabled it fixes all the jquery issues from the update BUT Backend forms are broken. JQMIGRATE: Migrate is installed with logging active, version 1.4.1 jquery-1.12.4-wp.js?ver=1.12.4-wp:2 Uncaught Error: Syntax error, unrecognized expression: https://film.ca/wp-admin/admin.php?page=wc-settings&tab=products at Function.ea.error (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at ea.tokenize (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at ea.select (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at Function.ea (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at Function.jQuery.find (jquery-migrate-1.4.1-wp.js?ver=1.4.1-wp:301) at n.fn.init.find (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at n.fn.init.jQuery.fn.find (jquery-migrate-1.4.1-wp.js?ver=1.4.1-wp:688) at jQuery.fn.init.n.fn.init (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at new jQuery.fn.init (jquery-migrate-1.4.1-wp.js?ver=1.4.1-wp:252) at n (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) wp-auth-check.min.js?ver=5.6:2 Uncaught TypeError: Cannot read property 'hasClass' of undefined at HTMLDocument.<anonymous> (wp-auth-check.min.js?ver=5.6:2) at HTMLDocument.dispatch (jquery-1.12.4-wp.js?ver=1.12.4-wp:3) at HTMLDocument.r.handle (jquery-1.12.4-wp.js?ver=1.12.4-wp:3) at Object.trigger (jquery-1.12.4-wp.js?ver=1.12.4-wp:3) at Object.jQuery.event.trigger (jquery-migrate-1.4.1-wp.js?ver=1.4.1-wp:644) at HTMLDocument.<anonymous> (jquery-1.12.4-wp.js?ver=1.12.4-wp:3) at Function.each (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at jQuery.fn.init.each (jquery-1.12.4-wp.js?ver=1.12.4-wp:2) at jQuery.fn.init.trigger (jquery-1.12.4-wp.js?ver=1.12.4-wp:3) at Object.<anonymous> (heartbeat.min.js?ver=5.6:2) When I disable the jquery migrate plugin the woocommerce backend functions properly again. jquery.min.js?ver=3.5.1:2 Uncaught Error: Syntax error, unrecognized expression: https://film.ca/wp-admin/admin.php?page=wc-settings&tab=products at Function.se.error (jquery.min.js?ver=3.5.1:2) at se.tokenize (jquery.min.js?ver=3.5.1:2) at se.select (jquery.min.js?ver=3.5.1:2) at Function.se (jquery.min.js?ver=3.5.1:2) at Function.s.find (jquery-migrate.min.js?ver=3.3.2:2) at S.fn.init.find (jquery.min.js?ver=3.5.1:2) at s.fn.init.S.fn.init (jquery.min.js?ver=3.5.1:2) at new s.fn.init (jquery-migrate.min.js?ver=3.3.2:2) at S (jquery.min.js?ver=3.5.1:2) at HTMLDocument.<anonymous> (options-custom.js?ver=5.6:19) se.error @ jquery.min.js?ver=3.5.1:2 se.tokenize @ jquery.min.js?ver=3.5.1:2 se.select @ jquery.min.js?ver=3.5.1:2 se @ jquery.min.js?ver=3.5.1:2 s.find @ jquery-migrate.min.js?ver=3.3.2:2 find @ jquery.min.js?ver=3.5.1:2 S.fn.init @ jquery.min.js?ver=3.5.1:2 s.fn.init @ jquery-migrate.min.js?ver=3.3.2:2 S @ jquery.min.js?ver=3.5.1:2 (anonymous) @ options-custom.js?ver=5.6:19 e @ jquery.min.js?ver=3.5.1:2 t @ jquery.min.js?ver=3.5.1:2 setTimeout (async) S.readyException @ jquery.min.js?ver=3.5.1:2 (anonymous) @ jquery.min.js?ver=3.5.1:2 e @ jquery.min.js?ver=3.5.1:2 t @ jquery.min.js?ver=3.5.1:2 setTimeout (async) (anonymous) @ jquery.min.js?ver=3.5.1:2 c @ jquery.min.js?ver=3.5.1:2 fireWith @ jquery.min.js?ver=3.5.1:2 fire @ jquery.min.js?ver=3.5.1:2 c @ jquery.min.js?ver=3.5.1:2 fireWith @ jquery.min.js?ver=3.5.1:2 t @ jquery.min.js?ver=3.5.1:2 setTimeout (async) (anonymous) @ jquery.min.js?ver=3.5.1:2 c @ jquery.min.js?ver=3.5.1:2 fireWith @ jquery.min.js?ver=3.5.1:2 fire @ jquery.min.js?ver=3.5.1:2 c @ jquery.min.js?ver=3.5.1:2 fireWith @ jquery.min.js?ver=3.5.1:2 ready @ jquery.min.js?ver=3.5.1:2 B @ jquery.min.js?ver=3.5.1:2 3?v=2.0:6 WebSocket connection to 'wss://public-api.wordpress.com/pinghub/wpcom/me/newest-note-data' failed: Error during WebSocket handshake: Unexpected response code: 403
December 23, 2020
I download this plugin a few months ago and fixed my wordpress site's issue (photo gallery)...my gallery stopped working recently so I checked this plugin and updated it. That didn't do the trick. I'm running the current version of WordPress, which is 5.6. Any suggestions?
December 20, 2020
It used to work in it's previous version of 1.2 somewhat ok, albeit slowing down the whole site significantly and with occasional errors (but still better than a broken site after the dropped wordpress jquery support) The newest version of 1.3 breaks the site on its own, might be due to some incompatibility issues with revolution slider, or visual bakery, but graphics are missing and errors are prevalent, again on a significantly slowed down site. Wish they never dropped the jquery support, even with this migration plugin not all plugin developer will update their work, and people will get stuck with broken slowed down sites and issues. Way to go, improvement of the finest.
Read all 95 reviews

Contributors & Developers

“Enable jQuery Migrate Helper” is open source software. The following people have contributed to this plugin.

Contributors

“Enable jQuery Migrate Helper” has been translated into 15 locales. Thank you to the translators for their contributions.

Translate “Enable jQuery Migrate Helper” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

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

  • Initial release.