Remove Contact Form 7 CSS and JavaScript Unless Contact form 7 shortcode is used in the page

1.4k Views Asked by At

I want to show the css and javascript only when the shortcode is used in that page. If the short code not present in the wordpress page then the js and css of contact form should not be shown. For that what i have done is i have pasted the following code in my active themes function.php file.

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

The above code totally removes the js and css of contact form 7 plugin. What i need is if contact form 7 shortcode is pasted then both should be shown.

3

There are 3 best solutions below

0
J. Shabu On BEST ANSWER

Here is the answer for this question. You can refer this link also which was answered by me. View answer

function rjs_lwp_contactform_css_js() {
    global $post;
    if( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'contact-form-7') ) {
        wp_enqueue_script('contact-form-7');
         wp_enqueue_style('contact-form-7');

    }else{
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_style( 'contact-form-7' );
    }
}
add_action( 'wp_enqueue_scripts', 'rjs_lwp_contactform_css_js');
0
kpower On

1) LT = less then, so its < 11, not <= IE11

2) such conditions work for IE <= 9. Not supported since 10+

3) Try to read here: Detecting IE11 using CSS Capability/Feature Detection (about IE 11 detection using other ways)

0
Nitesh On

According to msdn microsoft site, these conditional comments are no longer valid from IE 10. Therefore, for IE 11 there is no such conditional comment.

For more info: https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx