我不是WordPress开发人员,我想帮助一个拥有WordPress网站的朋友。问题是:
在模板中,wp_head()
函数添加一系列样式和脚本。
我想删除某些页面中的一些内容,比如:
<link rel=\'stylesheet\' id=\'yasrcss-css\' href=\'https://www.example.com/wp-content/plugins/yet-another-stars-rating/css/yasr.css\' type=\'text/css\' media=\'all\' />
所以我四处搜索,根据其他问题的建议,我在
functions.php
(主题文件夹内):
add_action( \'init\', \'_remove_style\' );
function _remove_style() {
wp_dequeue_style( \'yasrcss-css\' );
wp_dequeue_style( \'yasr.css\' );
}
它不起作用,我还在
functions.php
:
wp_deregister_style(\'yasrcss-css\');
这个也没用。
我是否错过了什么,还有什么我应该做的吗?
顺便说一句,我尝试了以下代码:
printf(
\'<pre>%s</pre>\',
var_export( $GLOBALS[\'wp_scripts\']->registered, TRUE )
);
根据建议
here. 它在输出中没有特定的CSS。
最合适的回答,由SO网友:Nazaria 整理而成
注意:文件名为functions.php
, 不function.php
(但这可能只是问题中的一个拼写错误)。
若要删除脚本或样式,必须在添加后将其删除。如果您在添加之前尝试将其删除,甚至打印$GLOBALS[\'wp_scripts\']->registered
, 不会发生任何事情,因为它尚未添加。
因此,删除它们的一种方法是执行_remove_style
尽可能晚地工作。
此外,您需要确保您首先使用了用于将CSS文件排队的正确句柄。在这种情况下,正确的句柄是:yasrcss
(贷记至@thedeadmedic).
结合所有这些,您可以尝试以下代码:
add_action( \'wp_enqueue_scripts\', \'_remove_style\', PHP_INT_MAX );
function _remove_style() {
wp_dequeue_style( \'yasrcss\' );
}
SO网友:AddWeb Solution Pvt Ltd
要从少数选定页面中删除样式表,请打开函数。php文件,并将下面的代码放入该文件中。在页面id数组中,它只针对您不想应用CSS的特定页面
add_action(\'init\',\'_remove_style\');
function _remove_style(){
global $post;
$pageID = array(\'20\',\'30\', \'420\');//Mention the page id where you do not wish to include that script
if(in_array($post->ID, $pageID)) {
wp_dequeue_style(\'your_style_sheet.css\');
}
}