删除 Contact Form 7 CSS 和 JavaScript 除非在页面中使用 Contact form 7 简码

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

我只想在该页面中使用短代码时显示 css 和 javascript。如果 wordpress 页面中不存在短代码,则不应显示联系表单的 js 和 css。为此,我所做的是将以下代码粘贴到我的活动主题 function.php 文件中。

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

以上代码完全去掉了contact form 7插件的js和css。我需要的是,如果粘贴了联系表格 7 短代码,那么两者都应该显示。

1) LT = 小于,所以它 < 11,而不是 <= IE11

2) 此类条件适用于 IE <= 9。自 10+

起不再支持

3) 尝试阅读此处:Detecting IE11 using CSS Capability/Feature Detection(关于使用其他方式检测 IE 11)

根据 msdn 微软站点,这些条件注释从 IE 10 开始不再有效。 因此,对于IE 11,没有这样的条件注释。

更多信息: https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx

这里是这个问题的答案。你也可以参考我回答的link。

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');