如何控制初始wp_head()输出?

时间:2016-01-13 作者:Bunjip

我按照常见的建议在header中使用wp\\u head()。php和wp\\u enqueue\\u scripts()而不是在标头中硬链接css和js文件。php。

然而,我意识到wp\\u head()输出了很多东西,我不确定我是否真的希望它出现在那里。E、 有一些CSS样式表处理表情和笑脸。。。不管什么原因。

//更新

尽管我写了以上内容,但我非常清楚我希望在HTML head部分中包含wp\\u head()的哪些部分。

//更新II

我正在开发自己的主题,我只有一个插件在使用,那就是Pods。io。

我做了一些研究,但发现的解决方案仅建议随后通过输出缓冲方法更改wp\\u head()输出(请参阅Remove an action from an external Class). 对我来说,这似乎是一个相当肮脏的解决方案。

因此,我的问题是,如何准确定义wp\\u head()的默认输出?哪些挂钩可用于触发某些输出部件?请注意,我知道如何通过挂钩向wp\\u head()添加内容,但不知道如何精确删除不需要的输出。

3 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

Here 是当前默认挂接到的操作的当前列表wp_head

在此处重新发布,以避免不必要地打开多个浏览器窗口

add_action( \'wp_head\',             \'_wp_render_title_tag\',            1     );
add_action( \'wp_head\',             \'wp_enqueue_scripts\',              1     );
add_action( \'wp_head\',             \'feed_links\',                      2     );
add_action( \'wp_head\',             \'feed_links_extra\',                3     );
add_action( \'wp_head\',             \'rsd_link\'                               );
add_action( \'wp_head\',             \'wlwmanifest_link\'                       );
add_action( \'wp_head\',             \'adjacent_posts_rel_link_wp_head\', 10, 0 );
add_action( \'wp_head\',             \'locale_stylesheet\'                      );
add_action( \'wp_head\',             \'noindex\',                          1    );
add_action( \'wp_head\',             \'print_emoji_detection_script\',     7    );
add_action( \'wp_head\',             \'wp_print_styles\',                  8    );
add_action( \'wp_head\',             \'wp_print_head_scripts\',            9    );
add_action( \'wp_head\',             \'wp_generator\'                           );
add_action( \'wp_head\',             \'rel_canonical\'                          );
add_action( \'wp_head\',             \'wp_shortlink_wp_head\',            10, 0 );
add_action( \'wp_head\',             \'wp_site_icon\',                    99    );

if ( isset( $_GET[\'replytocom\'] ) )
    add_action( \'wp_head\', \'wp_no_robots\' );
您可以使用删除任何操作remove_action()

remove_action( \'wp_head\', \'wp_print_styles, 8 );
请记住,一个操作需要以与添加时相同的优先级删除。

作为奖金,支票this epic post from @ChristineCooper 关于如何删除表情符号

在此处编辑一条重要注释。不应删除以下操作,因为这会导致样式表和脚本的加载方式出现严重问题

  • locate_stylesheet

  • wp_print_styles

  • wp_generator

  • wp_enqueue_scripts

如果您需要删除特定的内容,请使用remove_action 或者使用分配的特定功能删除样式和脚本

SO网友:panos

wp\\U头钩只是一个钩。

主题和插件使用这个钩子在标题中添加他们需要的东西,比如css和js。通常,它们将不必要的脚本排在每个页面中,而不是限制在特定页面中。

因此,您可以检查插件和主题,在其中添加脚本并编辑它们,或者使用remove\\u操作删除它们。

SO网友:Mayur Chauhan

您不需要删除默认的WordPress样式(这些样式包含在wp includes中,它们都是出于某些原因存在的)。

通过创建子主题,可以删除主题中包含的样式。

相关推荐