Php 延迟联系表7脚本和;来自其他页面的css

Php 延迟联系表7脚本和;来自其他页面的css,php,wordpress,contact-form-7,deferred-loading,Php,Wordpress,Contact Form 7,Deferred Loading,我是wordpress技术的新手,如果我在这里问一些基本的问题,我很抱歉 实际上,我正在尝试从除contact us之外的所有其他页面中删除contact form 7样式和js文件,所以我在function.php中所做的就是 add_action( 'wp_enqueue_scripts','pine_scripts' ); function pine_scripts() { if(! is_page(22) ) { wp_d

我是wordpress技术的新手,如果我在这里问一些基本的问题,我很抱歉

实际上,我正在尝试从除contact us之外的所有其他页面中删除contact form 7样式和js文件,所以我在function.php中所做的就是

add_action( 'wp_enqueue_scripts','pine_scripts' );

    function pine_scripts() {
         if(! is_page(22) )
        {
           wp_dequeue_script('contact-form-7'); // Dequeue JS Script file.
           wp_dequeue_style('contact-form-7');  // Dequeue CSS file. 
        }
    }
但我仍然看到在每个页面的源代码中都包含了联系人表单7

/* <![CDATA[ */
var wp_load_style = {"0":"admin-bar.css","1":"jquery.prettyphoto.css","2":"video-lightbox.css","3":"wp-block-library.css","4":"page-visit-counter-pro.css","6":"controlled-admin-access.css","7":"dashicons.css","8":"post-views-counter-frontend.css","9":"wordfenceAJAXcss.css","10":"quadro-theme-style.css","11":"magnific-popup.css","12":"cherry-projects-styles.css","13":"cherry-google-fonts-quadro.css","14":"duplicate-post.css","15":"tablepress-default.css","16":"yoast-seo-adminbar.css","17":"popup-maker-site.css","18":"contact-form-7.css","19":"tm-builder-swiper.css","20":"tm-builder-modules-style.css","21":"font-awesome.css","22":"current-template-style.css","23":"wp-add-custom-css.css"};
var wp_load_script = ["admin-bar.js","jquery.js","jquery.prettyphoto.js","video-lightbox.js","cherry-js-core.js","tm-builder-modules-global-functions-script.js","page-visit-counter-pro.js","controlled-admin-access.js","wordfenceAJAXjs.js","smush-lazy-load.js","quadro-theme-script.js","magnific-popup.js","cherry-projects-single-scripts.js","cherry-post-formats.js","google-recaptcha.js","popup-maker-site.js","contact-form-7.js","google-maps-api.js","divi-fitvids.js","waypoints.js","tm-jquery-touch-mobile.js","tm-builder-frontend-closest-descendent.js","tm-builder-frontend-reverse.js","tm-builder-frontend-simple-carousel.js","tm-builder-frontend-simple-slider.js","tm-builder-frontend-easy-pie-chart.js","tm-builder-frontend-tm-hash.js","tm-builder-modules-script.js","tm-builder-swiper.js","fittext.js"];
var cherry_ajax = "0901ce207c";
var ui_init_object = {"auto_init":"false","targets":[]};
/* ]]> */
/**/
我的网站网址: 联系我们网址:


任何帮助都将不胜感激。

尝试
add_操作('plugins_loaded'、'pine_scripts')

您可以使用此插件:

或者你可以:

function rjs_lwp_contactform_css_js() {
    global $post;
   if(! is_page(22) ) {
        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');

此解决方案检查短代码,并仅将使用短代码的页面上的脚本和样式排入队列

函数dd_wpcf7_dequeue_scripts(){
$load_scripts=false;
if(单数形式){
$post=get_post();
如果(有快捷码($post->post内容,'contact-form-7')){
$load_scripts=true;
}
}
如果(!$load_脚本){
wp_出列_脚本('contact-form-7');
wp_dequeue_脚本('google-recaptcha');
wp_出列_样式(“联系方式-7”);
}
}
添加动作('wp_排队脚本','dd_wpcf7排队脚本',99);

截至2020年11月,似乎需要一个额外的标签来有效地将recaptcha脚本出列:“wpcf7 recaptcha”和“google recaptcha”组合在一起

function remove_contact_scripts() {     
    
    /* remove Contact Form scripts if not viewing Contact page */
    if ( !is_page( array( 'contact-us' ) ) ){
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_style( 'contact-form-7' );

        /* these are both needed */
        wp_dequeue_script( 'wpcf7-recaptcha' );
        wp_dequeue_script('google-recaptcha');
    }
} 
add_action('wp_enqueue_scripts', 'remove_contact_scripts', 99);

我尝试使用这一行,但它没有从wp_load_脚本中删除“contact-form-7.js”。虽然这段代码可以解决OP的问题,但最好包含一个关于代码如何解决OP问题的解释。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。此外,高质量、完整的答案更有可能被提升。这些特性,以及所有帖子都是独立的要求,是SO作为一个平台的一些优势,使其区别于论坛。您可以通过编辑添加其他信息和/或使用源文档补充说明。您是否尝试了该插件?请稍候,让我也尝试一下。向下投票,因为这会将页面ID硬编码到函数中。不是未来的证明。我推荐Howard E下面的方法。这很好,因为它不会将ID或页面名硬编码到文件中。