4

I need Rocket loader to ignore some specific script that I enqueue using wp_enqueue_script(), So I need to add data-cfasync="false" to the script tag. But since I enqueue a js file via function.php, I have no tag to add this to it. Is there any way to do that?

1

1 Answer 1

6

I had a similar problem and this code added the attribute correctly.

Add this code snippet to your functions.php file to disable cloudfare for your specific script only. Just change YOUR_SCRIPT_HANDLE_HERE accordingly.

function disable_rocketship( $tag, $handle, $src ) {
    if ( 'YOUR_SCRIPT_HANDLE_HERE' === $handle ) {
        $tag = str_replace( 'src=', 'data-cfasync="false" src=', $tag );
    }
    return $tag;
}
add_filter( 'script_loader_tag', 'disable_rocketship', 10, 3 );
Sign up to request clarification or add additional context in comments.

1 Comment

you forgot to return the handle so line 3 $tag = "<script type=\"text/plain\" id=\"$handle\" src=\"$src\" [YOUR ATTRIBUTE]> </script>";

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.