wp_headとは?テーマに必要なフック解説【wp_footerとの関係性も解説】

ordPressでテーマを自作・カスタマイズしていると、テンプレートファイル内でよく目にする関数がいくつかあります。中でも**wp_head()
とwp_footer()
**は、テーマ開発において「なくてはならない存在」です。
この記事では、
wp_head()
の役割と使い方wp_footer()
との関係性- それぞれがなぜ必要なのか
を、WordPress中級者向けに分かりやすく解説していきます。
Contents
wp_head()
とは?
wp_head()
は、WordPressがHTMLの<head>
タグ内に必要な情報を出力するためのアクションフックです。
<?php wp_head(); ?>
と記述することで、WordPress本体・プラグイン・テーマなどが必要とするCSSやJavaScript、メタ情報などを自動で挿入できるようになります。
なぜwp_head()
が必要?
自作テーマでこれを入れ忘れると、次のような問題が発生します。
- プラグインのCSSやJavaScriptが読み込まれない
- WordPressのメタ情報(REST API、oEmbed、emoji対応など)が出力されない
- SEOやSNS向けのタグが消える
- ログイン中の管理バーが正常に表示されない
つまり、**wp_head()
を入れないとテーマが「WordPressとして正しく機能しない」**ことになります。
どこに書く?
通常は、header.php
の中の<head>
タグ閉じる直前に記述します:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php wp_title(); ?></title>
<?php wp_head(); ?>
</head>
wp_head()
で挿入される主な要素
- WordPress本体:RSSフィード、REST APIリンク、emoji対応JSなど
- プラグイン:外部スタイル・スクリプト、SEO・広告タグなど
- テーマ:Google Fontsやライブラリの読み込みなど(enqueue済みのもの)
カスタマイズ例(独自タグ追加)
add_action( 'wp_head', 'my_custom_meta_tag' );
function my_custom_meta_tag() {
echo '<meta name="author" content="Your Name">';
}
wp_head()
と対をなす存在として、**wp_footer()
**があります。
<?php wp_footer(); ?>
こちらは、HTMLの</body>
直前にJavaScriptやトラッキングコードを挿入するためのアクションフックです。
- プラグインのJavaScriptが正常に動作する
- Googleアナリティクスやタグマネージャーが正しく挿入される
- 管理バーやブロックエディター関連の機能が動作する
'in_footer' => true
でenqueueされたスクリプトがここに出力される
wp_footer()
がないと、表示上は問題なく見えても、裏で多くの処理が機能しなくなる可能性があります。
どこに書く?
通常はfooter.php
の</body>
直前に記述します:
<?php wp_footer(); ?>
</body>
</html>
比較項目 | wp_head() | wp_footer() |
---|---|---|
位置 | <head> タグ内の閉じる直前 | <body> 閉じる直前 |
主な役割 | CSS・meta情報・初期スクリプトの出力 | JavaScript・トラッキングコード等の出力 |
影響範囲 | 表示準備・初期化処理 | 表示後の追加処理・機能拡張 |
必要性 | 非常に高い(ないと不具合) | 同様に必須(JS系不具合の原因に) |
どちらか片方だけでなく、両方をセットで使用することがWordPressテーマの基本ルールです。
まとめ
wp_head()
はHTMLの<head>
内に必要情報を出力するためのフックwp_footer()
は</body>
直前にスクリプトや追跡コードを出力するフック- 自作テーマには両方必須!ないとプラグインやWordPress本体が正しく動かなくなる
- それぞれの位置に正しく記述することで、テーマの「互換性」「拡張性」が高まる
参考リンク
- 公式ドキュメント:wp_head() – WordPress Developer Resources
- 公式ドキュメント:wp_footer() – WordPress Developer Resources
- テーマ開発ハンドブック(日本語)