首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Contact Form 7 CSS和JS,除非页面中使用了Contact form 7短代码

删除Contact Form 7 CSS和JS,除非页面中使用了Contact form 7短代码
EN

Stack Overflow用户
提问于 2018-02-22 17:16:13
回答 2查看 5.7K关注 0票数 5

我想要显示的css和javascript时,只有在该网页中使用的短码。如果简短的代码没有出现在wordpress页面中,那么js和css的联系人表单就不应该显示。为此,我在我的活动主题function.php文件中粘贴了以下代码。

代码语言:javascript
复制
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

上面的代码完全删除了contact Form7插件的js和css。我需要的是,如果联系形式7短码粘贴,然后两者都应显示。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-22 20:00:12

这是你问题的答案。如果没有短码,则联系人表单的css和js将被删除,如果有短码,将添加css和js。

代码语言:javascript
复制
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');
票数 6
EN

Stack Overflow用户

发布于 2018-02-22 17:31:16

您可以使用下面的code.You在此代码中添加您的页面Id。

代码语言:javascript
复制
function dvk_dequeue_scripts() {

    $load_scripts = false;

    if( is_singular() ) {
        $post = get_post();

        if( has_shortcode($post->post_content, 'contact-form-7') ) {
            $load_scripts = true;
        }

    }

    if( ! $load_scripts ) {
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_style( 'contact-form-7' );
    }

}

add_action( 'wp_enqueue_scripts', 'dvk_dequeue_scripts', 99 );

Reference

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48923540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档