Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
只在几个页面上加载WordPress插件的CSS和JS脚本?_Wordpress - Fatal编程技术网

只在几个页面上加载WordPress插件的CSS和JS脚本?

只在几个页面上加载WordPress插件的CSS和JS脚本?,wordpress,Wordpress,我只在一个id=“15280”的页面上使用了这两个名为“Everest tab lite”和“easy Estimations”的插件,但它们的CSS和JS脚本会加载到所有页面上。为了限制脚本,我尝试了两种方法,但都不起作用。我不知道我做错了什么。有没有办法解决这个问题 第一种方法,我在functions.php文件的末尾添加了下面的代码 function conditionally_load_plugin_js_css(){ if(! is_page( array(15280) ) ){ #

我只在一个id=“15280”的页面上使用了这两个名为“Everest tab lite”和“easy Estimations”的插件,但它们的CSS和JS脚本会加载到所有页面上。为了限制脚本,我尝试了两种方法,但都不起作用。我不知道我做错了什么。有没有办法解决这个问题

第一种方法,我在functions.php文件的末尾添加了下面的代码

function conditionally_load_plugin_js_css(){
if(! is_page( array(15280) ) ){ # Load CSS and JS only on Pages with ID 4 and 12    
wp_dequeue_script('easy-testimonials'); # Restrict scripts.
wp_dequeue_style('easy-testimonials'); # Restrict css.  
wp_dequeue_script('everest-tab-lite'); # Restrict scripts.
wp_dequeue_style('everest-tab-lite'); # Restrict css.
}
}   
add_action( 'wp_enqueue_scripts', 'conditionally_load_plugin_js_css' );
function remove_wpetl_extras() {
remove_action('wp_print_scripts', 'wpetl_enqueue_scripts');
remove_action('wp_print_styles', 'wpetl_enqueue_styles');
}

if( ! is_page('15280') ) {
add_action('wp_head', 'remove_wpetl_extras');
}
第二种方法是,我在functions.php文件的末尾添加了下面的代码

function conditionally_load_plugin_js_css(){
if(! is_page( array(15280) ) ){ # Load CSS and JS only on Pages with ID 4 and 12    
wp_dequeue_script('easy-testimonials'); # Restrict scripts.
wp_dequeue_style('easy-testimonials'); # Restrict css.  
wp_dequeue_script('everest-tab-lite'); # Restrict scripts.
wp_dequeue_style('everest-tab-lite'); # Restrict css.
}
}   
add_action( 'wp_enqueue_scripts', 'conditionally_load_plugin_js_css' );
function remove_wpetl_extras() {
remove_action('wp_print_scripts', 'wpetl_enqueue_scripts');
remove_action('wp_print_styles', 'wpetl_enqueue_styles');
}

if( ! is_page('15280') ) {
add_action('wp_head', 'remove_wpetl_extras');
}

我想您只需要检查订单优先级

优先权 (int)(可选)用于指定与特定操作关联的函数的执行顺序。较低的数字对应较早的执行,具有相同优先级的函数按照它们添加到操作中的顺序执行。默认值:10

add_action('wp_enqueue_scripts','conditionally_load_plugin_js_css',100);
将优先级更改为
100
或更高的
999
,因为大多数插件使用高值,如
99
或更高的值,您需要覆盖该值

另外,请注意,如果要完全删除样式或脚本,则需要
将脚本出列
,然后
取消注册
脚本


编辑:

我明白问题所在。我已经测试了代码,它可以工作,但是您必须编写样式/脚本的确切名称

在您的例子中,这两个插件都添加了一些样式表和脚本,
Easy-commentials
添加了6个样式表和2个脚本:

easy_testimonial_style
single-testimonial-block
random-testimonial-block
testimonials-list-block
testimonials-cycle-block
testimonials-grid-block

easy-testimonials-reveal
gp_cycle2 (jquery.cycle2)

并且
Everest选项卡Lite
又添加了3个样式表和1个脚本:

et-frontend-style
et_fontawesome_style
et-animate-style

et-frontend-script

请注意,WordPress将自动添加
-css
样式表名称。i、 e
et前端样式将显示为
et前端样式css

因此,您的功能将是:

函数有条件地加载插件
//仅在带有15280的页面上加载CSS和JS
如果(!是_页(数组(15280))){
//简易证明
wp_dequeue_风格(“简单的推荐风格”);
wp_-dequeue_风格(“单块证明”);
wp_dequeue_风格(“随机-推荐-块”);
wp_出列_风格(“推荐列表块”);
wp_dequeue_风格(“推荐-循环-块”);
wp_dequeue_风格(“推荐式网格块”);
//剧本
wp_注销_脚本('gp_cycle2');
wp_撤销注册_脚本(“简易证明-披露”);
//珠穆朗玛峰
wp_-dequeue_风格(“et-frontend-style”);
//如果您喜欢fontawesome和animate.css,请保留这些
wp_dequeue_风格(“et_风格”);
wp_dequeue_样式(“et-animate-style”);
//剧本
wp_注销脚本(“et-frontend-script”);
} 
} 
//珠穆朗玛峰标签Lite的优先级高于9999,因此我将优先级更改为99999
添加动作(“wp_排队_脚本”,“有条件地加载_插件_js_css”,99999);

我将优先级更改为100、999和更高的数字。但是,当我检查我的浏览器的网络部分时,所有提到的插件脚本都存在,直到现在还没有删除。你能告诉我出了什么问题吗?@Zoha可能是因为缓存的原因,在测试时,请尝试选中名为
禁用缓存
的小复选框。。再见,谢谢你的帮助。我禁用了缓存,清除了浏览器数据,并将下面的代码放在function.php文件中。但还是不行//下面是代码>>函数有条件地加载插件jscss(){if(!is_page(array(15280)){{只在带有15280 wp_dequeue_脚本('easy-esticials');wp_dequeue_样式('easy-esticials');wp_dequeue_脚本('everest-tab-lite');wp_dequeue_样式('everest-tab-lite')}的页面上加载css和js}添加动作('wp_enqueue_scripts','conditionally_load_plugin_js_css',9999);非常感谢。它成功了!我限制了除“jquery.cycle2.min.js”之外的所有css和js文件.是因为点吗?你能帮我控制这个文件吗。@Zoha是的,它也通过简单的证明加载,但名称不同。
gp\u cycle2
。事实上,我的错是,我错过了那些脚本。我再次更新了答案。