是否可以从wp_footer()挂钩和wp_head()挂钩添加出队/删除样式?

时间:2018-02-02 作者:rafaelfndev

我需要注销此队列样式的wp\\u footer()挂钩,并使用挂钩wp\\u head()将其添加到站点顶部,这是可能的吗?

我正在优化我的主题以在W3C中进行验证,W3C的一个要求是所有样式都在标记中<head></head>... 我正在使用一个名为Crayon Syntax Highlighter, 这个插件在页面底部插入一个样式(可能使用wp_footer() 挂钩)。

脚本的名称/id为crayon:enter image description here

我尝试了所有这些功能,但没有成功:

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 );

1 个回复
最合适的回答,由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只在必要的页面上排队,而在页脚上排队

结束

相关推荐

How to add JS in footer

我在页脚中添加了代码。php就在之前,但代码没有执行。我知道最好使用函数。php,但我现在想这样测试。。。谁能帮帮我吗?谢谢<script type=\"text/javascript\"> window.onload = function () { jQuery(document).ready(function(){ console.log(\'insider\'); var alphabeticallyOrdered