Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I read How to add defer="defer" tag in plugin javascripts? and the code @toscho posted works good to defer certain js files or deferring ALL js files by commenting out the contact-form-7 line, but I need to defer all js except 1 or 2 files. I for sure need to exclude jquery.min because it causes the Revolution Slider plugin to stop working when it's deferred.

So how would I write a conditional in the following code to exclude certain js files? For example if I wanted to exclude jquery.min and jquery.ui.core.min

function add_defer_to_cf7( $url )
        if ( // comment the following line out add 'defer' to all scripts
        FALSE === strpos( $url, 'contact-form-7' ) or
        FALSE === strpos( $url, '.js' )
        { // not our file
            return $url;
        // Must be a ', not "!
        return "$url' defer='defer";
    add_filter( 'clean_url', 'add_defer_to_cf7', 11, 1 );
share|improve this question
tumbleweeds No one? :) –  Nate M. Apr 3 '14 at 2:52

1 Answer 1

I am using this code, i Hope it helps you.

function defer_parsing_of_js ( $url ) {
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.min.js' ) ) return $url;
    return "$url' defer='defer";
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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