2025年08月11日[月曜日]

get_header()関数完全リファレンス

  • 2025/08/06
  • REFERENCE
  • WordPressの関数
  • 0comments
  • 38views
  • 約8分で読めます

WordPressテーマ開発で必須となる get_header() 関数の基本と活用法を解説します。引数による異なるヘッダーファイルの読み込み方法や実用的なコード例を交え、初心者でも理解できるよう詳しく紹介。ヘッダーファイルの管理と構造化を完全マスターできます。

WordPressでテーマを作成する際、ヘッダーファイルを読み込むために get_header() 関数を使用します。

get_header() は「ヘッダーファイル(header.php)を読み込んで表示する」ための関数で、通常はテンプレートファイルの先頭部分で使用されます。

この関数を理解する上で最も重要なのは、引数によって読み込むファイルが変わることです。

重要

引数は単純にファイル名を指定するものであり、ページのスラッグや種類とは関係ありません。どのテンプレートファイルからでも、任意のヘッダーファイルを読み込むことができます。

関連する関数

get_header()関数の基本

get_header() は、WordPressテーマのヘッダー部分を読み込むための関数です。

get_header();
PHP

引数なしで呼び出すと、テーマディレクトリの header.php ファイルを読み込みます。

<?php get_header(); ?>
<main>
  <p>ここはメインコンテンツです</p>
</main>
PHP
読み込まれるファイル
  • get_header()header.php
  • get_header('custom')header-custom.php

パラメータと戻り値

パラメータ

  • $name : 読み込むヘッダーファイル名
  • $args : ヘッダーファイルに渡す変数(WordPress 5.5以降)

戻り値

  • 戻り値はありません(ファイルを直接出力)

基本的な使用例

// header.php を読み込み
get_header();

// header-custom.php を読み込み
get_header('custom');

// 変数を渡して読み込み(WordPress 5.5以降)
get_header('custom', ['page_type' => 'special']);
PHP

基本的な使い方

標準的なテンプレートファイルでの使用

<?php get_header(); ?>

<div class="container">
  <h1>ページタイトル</h1>
  <p>ページの内容</p>
</div>

<?php get_footer(); ?>
PHP

header.php の基本例

header.php
<header class="site-header">
  <h1>サイトタイトル</h1>
  <nav class="main-nav">
    <ul>
      <li><a href="/">ホーム</a></li>
      <li><a href="/about">会社概要</a></li>
    </ul>
  </nav>
</header>
PHP

カスタムヘッダーファイルの読み込み

特定のページ用ヘッダーファイル

PHP
// header-shop.php を読み込む
get_header('shop');
PHP

ファイル名の命名規則

  • header-{name}.php の形式
  • get_header('shop')header-shop.php
  • get_header('blog')header-blog.php

条件分岐によるヘッダー切り替え

// header-shop.php を読み込む
get_header('shop');
PHP

この場合、以下のファイルが読み込まれます:

  • フロントページ: header-home.php
  • その他: header.php

実用的なコード例

1. ページタイプに応じたヘッダー切り替え

<?php
// index.php
if (is_front_page()) {
  // トップページではheader-front.phpを出力
  get_header('front');
} else {
  // それ以外のページではheader.phpを出力
  get_header();
}
?>
PHP

2. 変数を渡すヘッダー読み込み(WordPress 5.5以降)

<?php
// single.php
$header_args = [
  'page_type' => 'single',
  'show_title' => true
];

get_header('post', $header_args);
?>
PHP
header-post.php
<?php
$page_type = $args['page_type'] ?? 'default';
$show_title = $args['show_title'] ?? false;
?>

<header class="site-header <?php echo $page_type; ?>">
  <?php if ($show_title) : ?>
    <h1>記事ページ</h1>
  <?php endif; ?>
</header>
PHP

3. 通常の使用例

<?php
// page.php
get_header();
?>

<main>
  <h1>ページタイトル</h1>
  <p>ページの内容</p>
</main>
PHP

4. 引数による任意のファイル読み込み

<?php
// どのテンプレートファイルからでも任意のヘッダーファイルを読み込める

// 標準のヘッダー
get_header();

// 「blue」という名前のヘッダー
get_header('blue');

// 「sidebar-left」という名前のヘッダー  
get_header('sidebar-left');
?>
PHP

読み込まれるファイル

  • get_header()header.php
  • get_header('blue')header-blue.php
  • get_header('sidebar-left')header-sidebar-left.php

重要 引数は単なるファイル名の指定であり、ページの種類やスラッグとは無関係です。

5. 実際の使用例

<?php
// index.php で特別なヘッダーを使用
get_header('special');

// single.php で標準のヘッダーを使用
get_header();

// page.php で青いヘッダーを使用
get_header('blue');
?>
PHP

このように、どのテンプレートファイルからでも任意のヘッダーファイルを読み込めます。

例えば page-about.php でも:

<?php
// page-about.php
get_header('red'); // header-red.php を読み込む
?>
PHP

ページのスラッグが「about」だからと言って、header-about.php を使う必要はありません。

よくある間違いと対処法

存在しないヘッダーファイルを指定

// 間違い: header-nonexistent.php が存在しない
get_header('nonexistent');

// 正解: 存在するファイルを指定
get_header('custom'); // header-custom.php が存在する場合
PHP

ヘッダーファイルでの無限ループ

// 間違い: header.php 内で get_header() を呼び出す
<?php get_header(); ?>
<header>
  <!-- これは無限ループを引き起こす -->
</header>

// 正解: header.php 内では get_header() を使わない
<header>
  <h1>サイトタイトル</h1>
</header>
PHP

引数の誤解

// 間違い: ページのスラッグと関連付けて考える
// page-about.php だから header-about.php を使わなければならない、という考え

// 正解: 引数は単なるファイル名の指定
// page-about.php でも任意のヘッダーファイルを使える
get_header('blue'); // header-blue.php を読み込む
get_header('simple'); // header-simple.php を読み込む
PHP

複数のヘッダー読み込み

// 間違い: 複数のヘッダーを読み込む
get_header();
get_header('custom');

// 正解: 一つのヘッダーファイルのみ読み込む
get_header('custom');
PHP

まとめ

get_header() 関数は WordPressテーマ作成で必須の関数です。

重要なポイント

  • get_header(): header.phpを読み込み
  • get_header('name'): header-name.phpを読み込み
  • 引数はファイル名の指定であり、ページのスラッグとは無関係
  • どのテンプレートファイルからでも任意のヘッダーファイルを読み込める

基本的な使い方

  • テンプレートファイルの先頭で使用
  • 必要に応じて引数でファイルを指定
  • ファイル名の命名規則(header-{name}.php)に従う

この記事の評価をお願いします

評価をすると「既読」となり、まだ読んでいない記事を区別できます。

この投稿をシェアする

コメントを残す

CAPTCHA



STAY CONNECTED

wp-ch Admin

現役のフリーランスエンジニアがWordPressによるWebサイト構築を基礎から実践テクニックまで徹底解説します。

たくさんの方がフォローしてくれています。あなたもぜひ、情報を受け取ってください。

STORY|ストーリー

WordPressを効率よく確実に学ぶためには、学習の順序が大切です。知識が自然に積み上がるよう、学習ステップに沿って記事を順番に並べています。

学習ストーリー第40話まで掲載中

全ストーリーを見る