WordPressでテーマを作成するときは1つのPHPファイルですべてをカバーするようなテーマを作ることはまったくなく、index.php, single.php, page.phpなどいくつかのファイルに分割してページごとにテーマ制作をおこないます。そういったときに必ずといっていいほど使うget_header()はWordPressではインクルードタグと呼ばれget_header()を書いたファイルに対してheader.phpをインクルードする関数です。
get_header()について
get_header()は、WordPressで現在有効になっているWordPressテーマのテーマディレクトリの直下にあるheader.phpもしくはheader-{$name}.phpを読み込みます。
get_header()の仕様
get_header($name);
引数 | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
$name | string | 特定テンプレート名 | なし |
$nameはheader.phpに対して追加で名前があるときに指定します。
header.phpについて
get_header()を使うその前にheader.phpについて説明します。header.phpは<head>内のタグやページ上部ぐらいまでのどのページにいっても基本的に変わることのないテンプレートを書いたPHPファイルになります。index.phpやsingle.phpでget_header()でheader.phpを読みこませれば個々のファイルに<head>タグを書く必要がなくなるのでコードが見やすくなります。
get_header()の使用サンプル
get_header()の使い方は以下の通りです。
/* 通常のheader.phpをインクルードする */
get_header();
/* header-sample.phpをインクルードする */
get_header('sample');
/* テーマ内にheader.phpがない場合は、/wp-includes/theme-compat/header.phpが呼ばれる */
get_header();
get_header()は、header.phpをインクルードするのでよっぽどのことが無い限りテンプレートファイルの最初の有効行に書くのが普通です。header.phpを複数作っていて(header.phpとheader-secound.phpなど)使い分けをしたい場合は6行目にあるようなget_header()を使ってください。
またget_header()を使っていて、有効になっているWordPressテーマのテーマディレクトリ直下にheader.phpがない場合、/wp-includes/theme-compat/header.phpにあるheader.phpがインクルードされます。