当前浏览:首页 / WordPress钩子 / wp_head

do_action( 'wp_head' )

打印前端head标签中的脚本或数据

headmore...


更多信息

wp_head()函数在主题header.php模板的<head></head>部分触发wp_head动作钩子。

虽然这是依赖于主题的,但它是最基本的主题挂钩之一,因此受到广泛支持。有关详细信息,请参阅主题开发手册:插件API钩子页面。

WordPress核心使用这个钩子执行许多操作,大多数由WordPress核心进入'wp-head'钩子的默认动作都在 wp-includes/default-filters.php 中设置。如果需要删除一个默认的钩子,此文件将为您提供用于删除钩子的优先级。



源码

查看源码 官方文档


更新日志

版本描述
1.5.0开始引入

使用示例

  • 示例1

    摘自旧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');
  • 示例2

    在底部页面添加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 );