Disable Cloudflare Rocket Loader for jQuery javascript and make it load first

I use Cloudflare Rocket Loader to speed up Javascript on my site.

The problem is, it loads certain scripts that need jQuery before loading jQuery itself making them not working correctly.

As soon as it is possible to disable Rocket Loader for specific script adding data-cfasync="false" to the script src="" I would like to know how can I add it to jQuery scripts as Wordpress doesn't simply load the jQuery via the script tag I guess.

At the moment my website loads jquery-migrate.min.js and jquery.js

PS there is a similar question but it's almost 7yrs ago so, it may be outdated at this point Cloudflares Rocket Loader + Wordpress - Ignore scripts?

Topic scripts jquery Wordpress javascript

Category Web


jQuery is loaded by WordPress with wp_enqueue_script. The problem is Wordpress also use the below code to change the handle

public function localize( $handle, $object_name, $l10n ) {
    if ( 'jquery' === $handle ) {
        $handle = 'jquery-core';
    }

The solution is to use the function

function wpse_script_loader_tag( $tag, $handle ) {
    if ( 'jquery-core' !== $handle ) {
        return $tag;
    }

    return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'wpse_script_loader_tag', 10, 2 );

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.