How do I stop WordPress loading jQuery and jQuery-migrate?

WordPress is loading the following 2 files in wp_head():

<script type='text/javascript' src='http://example.com/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script>
<script type='text/javascript' src='http://example.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>

In an attempt to stop this from happening, I have tried deactivating all plugins and deregistering jQuery in functions.php, but nothing seems to get rid of it.

Read More

Any ideas how I can stop this?

I’m using WordPress v3.6.

Related posts

Leave a Reply

4 comments

  1. You might want to use this in your functions.php

    add_filter( 'wp_default_scripts', 'remove_jquery_migrate' );
    
    function remove_jquery_migrate( &$scripts){
        if(!is_admin()){
            $scripts->remove( 'jquery');
            $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.2.1' );
        }
    }
    

    1.2.1 = latest version of jquery-migrate

    If you want to check whether your site requires jquery-migrate, open wp-config.php and this line of code: define('SCRIPT_DEBUG', true);. That way you can monitor any errors.
    Don’t forget to remove this when you put your site live!

    Hope that helps.

  2. WordPress has the jquery library and you should take advantage of this. If you want to remove this you can do something like this:

    function deregister_qjuery() {  
        if ( !is_admin() ) {
            wp_deregister_script('jquery');
        }
    }  
    
    add_action('wp_enqueue_scripts', 'deregister_qjuery'); 
    

    But consider how to load your JS files properly.

    Further reading:

    Dear theme developers, this is how you add scripts in WordPress themes
    http://wpcandy.com/teaches/how-to-load-scripts-in-wordpress-themes/

    Loading jQuery correctly
    http://beneverard.co.uk/blog/wordpress-loading-jquery-correctly-version-2/

    How to add a backup javascript file in WordPress that initially loads off internet
    How to add a backup javascript file in WordPress that initially loads off internet

  3. function dequeue_jquery_migrate($scripts){
        if(!is_admin() && !empty($scripts->registered['jquery'])){
            $jquery_dependencies = $scripts->registered['jquery']->deps;
            $scripts->registered['jquery']->deps=array_diff($jquery_dependencies,array('jquery-migrate'));
        }
    }
    add_action( 'wp_default_scripts', 'dequeue_jquery_migrate' );