更多信息
wp_head()
函数在主题header.php
模板的<head></head>
部分触发wp_head动作钩子。
虽然这是依赖于主题的,但它是最基本的主题挂钩之一,因此受到广泛支持。有关详细信息,请参阅主题开发手册:插件API钩子页面。
WordPress核心使用这个钩子执行许多操作,大多数由WordPress核心进入'wp-head'钩子的默认动作都在 wp-includes/default-filters.php 中设置。如果需要删除一个默认的钩子,此文件将为您提供用于删除钩子的优先级。
源码
更新日志
版本 | 描述 |
---|---|
1.5.0 | 开始引入 |
使用示例
摘自旧codex页:
function hook_css() { ?> <style> .wp_head_example { background-color : #f1f1f1; } </style> <?php } add_action('wp_head', 'hook_css');
或者对于需要放在头部的内联脚本,
function hook_javascript() { ?> <script> alert('Page is loading...'); </script> <?php } add_action('wp_head', 'hook_javascript');
在所有header.php文件中都可以看到wp_head()函数,它只是触发挂钩do_action(‘wp_head’)。然后将WordPress核心文件挂起多次打印头部,
add_action( 'wp_head', '_wp_render_title_tag', 1 ); add_action( 'wp_head', 'wp_enqueue_scripts', 1 ); add_action( 'wp_head', 'wp_resource_hints', 2 ); 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_custom_css_cb', 101 ); add_action( 'wp_head', 'wp_site_icon', 99 );
然而,更有趣的是,您还可以使用它添加一些meta标签,
function hook_nocache() { ?> <meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> <meta http-equiv="pragma" content="no-cache" /> <?php } add_action('wp_head', 'hook_nocache');
在底部页面添加HTML注释签名的安全方法。
add_action( 'wp_head', function() { if ( ! is_user_logged_in() && ! defined( 'ADD_HTML_SIGNATURE' ) ) { define( 'ADD_HTML_SIGNATURE', true ); } } ); add_action( 'shutdown', function() { if ( ! is_user_logged_in() && defined( 'ADD_HTML_SIGNATURE' ) ) { echo "\n<!-- YOUR HTML SIGNATURE -->\n"; } }, 999 );