我需要注销此队列样式的wp\\u footer()挂钩,并使用挂钩wp\\u head()将其添加到站点顶部,这是可能的吗?
我正在优化我的主题以在W3C中进行验证,W3C的一个要求是所有样式都在标记中<head></head>
... 我正在使用一个名为Crayon Syntax Highlighter
, 这个插件在页面底部插入一个样式(可能使用wp_footer()
挂钩)。
脚本的名称/id为crayon
:
我尝试了所有这些功能,但没有成功:
wp_deregister_style( \'crayon\' );
wp_dequeue_style( \'crayon\' );
remove_action( \'wp_enqueue_style\' , \'crayon\' , 10 );
wp_deregister_style( \'crayon-css\' );
wp_dequeue_style( \'crayon-css\' );
remove_action( \'wp_enqueue_style\' , \'crayon-css\' , 10 );
最合适的回答,由SO网友:Nathan Johnson 整理而成
如果你看看source code, 你可以看到wp_enqueue_style( \'crayon\' )
已调用Crayon::enqueue_resources()
它本身被称为Crayon::the_content()
或Crayon::wp_head()
. 中的代码Crayon::wp_head
是:
if (!CrayonGlobalSettings::val(CrayonSettings::EFFICIENT_ENQUEUE) || CrayonGlobalSettings::val(CrayonSettings::TAG_EDITOR_FRONT)) {
CrayonLog::debug(\'head: force enqueue\');
// Efficient enqueuing disabled, always load despite enqueuing or not in the_post
self::enqueue_resources();
}
仅当启用某些设置时,才会将样式排队。否则,样式将仅从
the_content
在之后激发的筛选器
wp_head
已输出。
因此,您有两个选择:
让CSS在页眉的所有页面上排队,让CSS只在必要的页面上排队,而在页脚上排队