3

I am managing this blog. As you can see, it loads both jquery.js?ver=1.12.4 and jquery-migrate.min.js?ver=1.4.1

Do I need both of them, or I can safely remove one of them? Isn't the jquery-migrate.min.js the newest version of jquery.js?

How do I know if I can remove one of them or not?

3

As stated in the official blog of jQuery. Specifically WordPres is mentioned in the quote.

jQuery Migrate 1.4.1 released, and the path to jQuery 3.0

Version 1.4.1 of the jQuery Migrate plugin has been released. It has only a few changes but the most important of them fixes a problem with unquoted selectors that seems to be very common in some WordPress themes. In most cases Migrate can automatically fix this problem when it is used with jQuery 1.12.x or 2.2.x, although it may not be able to repair some complex selectors. The good news is that all the cases of unquoted selectors reported in WordPress themes appear to be fixable by this version of Migrate!

A quick answer to your question; yes you can remove the jQuery migration script and if you don't see any unwanted behavior after the removal of the script, then it's safe to say that you can completely remove the reference migration script.

Can be read in here

  • And is it normal than the blog is using jquery.js?ver=1.12.4 ? Shouldn't it use the newest 3.x? Only then I can safely remove jQuery Migrate? – Pikk Jul 5 '17 at 18:12
  • jQuery version 1.12.4 ships with WordPress core by default. You can use the latest version of the script which is version 3, just make sure to call the deregister_script('jquery') and that includes the removal of the migration script, then again enqueue the latest version of the script to use. – Den Isahac Jul 5 '17 at 18:22
  • Thank you. Removed migrate and taken jquery 3 from google. And it seems to be working fine – Pikk Jul 5 '17 at 18:31
2

Yes you can remove JQuery Migrate to speed up the loading of your page on the client side.

What is jQuery Migrate?

The jQuery Migrate module (jquery-migrate.min.js) is a javascript library that allows you to preserve the compatibility of your jQuery code developed for versions of jQuery older than 1.9. JQuery Migrate also allows developers to detect deprecated code that is no longer supported by the latest jQuery libraries and to adapt it according to the newest versions of jQuery 1.9 and higher.

PHP code to disable jQuery Migrate in WordPress

This is the code I'm using for my clients and it is the right way to remove it properly on the client side without affecting any other components in the WordPress Dashboard. Grab this code and paste it in your functions.php file to remove the JQuery:

/**
 * Disable jQuery Migrate in WordPress.
 *
 * @author Guy Dumais.
 * @link https://en.guydumais.digital/disable-jquery-migrate-in-wordpress/
 */
add_filter( 'wp_default_scripts', $af = static function( &$scripts) {
    if(!is_admin()) {
        $scripts->remove( 'jquery');
        $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' );
    }    
}, PHP_INT_MAX );
unset( $af );

Hope this helps!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.