WordPressのインクルードタグ一覧|テンプレートファイルを読み込む関数まとめ

WordPressには、ヘッダーやフッターなど決まった用途のテンプレートファイルを呼び出す専用の関数が用意されています。これらはインクルードタグと呼ばれ、get_header()get_footer() などがこれにあたります。

テーマのどのテンプレートファイルからでも呼び出せるため、共通パーツを一箇所にまとめて管理できるのが特徴です。

この記事では、WordPressが標準で用意しているインクルードタグを一通りまとめていきます。

任意のファイルを読み込む get_template_part() についてはこちら。
get_template_part() の使い方

get_header()

get_header() はテーマ内の header.php を読み込む関数です。

<?php get_header(); ?>

引数に名前を指定すると、header-{name}.php を読み込みます。

header-top.php を読み込む
<?php get_header('top'); ?>

ページの種類によってヘッダーを切り替えたい場合に便利です。たとえばトップページだけ別のヘッダーを使いたい場合、front-page.phpget_header('top') と記述します。

get_footer()

広告
<?php get_footer(); ?>
footer-simple.php を読み込む
<?php get_footer('simple'); ?>

get_sidebar()

get_sidebar() はテーマ内の sidebar.php を読み込む関数です。

<?php get_sidebar(); ?>
sidebar-news.php を読み込む
<?php get_header('news'); ?>

同じテンプレート内で複数回呼び出すことができます。左右にサイドバーを配置する場合などに使えます。

PHP
<?php get_sidebar('left'); ?>
<?php get_sidebar('right'); ?>

get_search_form()

get_search_form() は検索フォームを表示する関数です。
テーマ内に searchform.php があればそのファイルを読み込み、なければWordPressが生成するデフォルトの検索フォームが表示されます。

広告
<?php get_search_form(); ?>

引数に true(デフォルト)を渡すとHTMLを直接出力し、false を渡すと文字列として返します。

PHP
$form = get_search_form(false); // 文字列として取得

comments_template()

comments_template() はコメントテンプレート(comments.php)を読み込む関数です。

<?php comments_template(); ?>

通常は single.php などの投稿テンプレート内で使います。

引数にファイルパスを渡すと、任意のテンプレートを読み込むことができます。パスはテーマフォルダからの相対パスで指定します。

PHP
<?php comments_template('/comments-custom.php'); ?>

投稿タイプによって切り替える

PHP
<?php
if (get_post_type() === 'product') {
    comments_template('/comments-product.php');
} else {
    comments_template();
}
?>

テンプレートに値を渡す($args)

WordPress 5.5 から、get_header()get_footer()get_sidebar() の最後の引数に配列を渡せるようになりました。これを使うと、値を引き継ぐことができます。

第二引数に配列を渡すことで、ヘッダーテンプレート内に値を引き継ぐことができます。

PHP
<?php get_header('top', ['show_nav' => false]); ?>

header-top.php 内では $args['show_nav'] で値を受け取れます。

いつ使うか

たとえば、トップページだけナビゲーションを非表示にしたい場合を考えます。

これまでは header.php 内で is_front_page() を使って判定するか、グローバル変数を使う方法が一般的でした。$args を使うと、呼び出し元から「こういう状態で読み込んでほしい」という情報を渡せるようになり、テンプレートの汎用性が高まります。

基本的な使い方

呼び出し側(例:front-page.php)
<?php
  $args = ['show_nav' => false];
  get_header(null, $args);
?>

...

<?php get_footer('simple', ['year' => date('Y')]); ?>

カスタムファイル名を使わない場合、第一引数は null を指定します。

カスタムファイル名と組み合わせる場合
<?php get_header('top', ['show_nav' => false]); ?>
// → header-top.php に ['show_nav' => false] を渡す
読み込まれる側(header.php)
<?php if ($args['show_nav']) : ?>
  <nav><!-- ナビゲーション --></nav>
<?php endif; ?>

受け取る変数名は $args で固定です。どの関数から渡しても、受け取る側では常に $args という名前でアクセスします。

複数の値を渡す場合

配列なので複数のキーを自由に追加できます。

PHP
<?php
  get_sidebar('news', [
    'category' => 'tech',
    'limit'    => 5,
  ]);
?>

sidebar-news.php 内では $args['category']$args['limit'] で受け取れます。

インクルードタグ一覧

get_headerget_footerget_sidebar の3つは引数の仕組みが共通しており、WordPress 5.5以降は第二引数で値を渡すことも可能です。

関数読み込むファイルカスタム指定
get_header()header.phpheader-{name}.php
get_footer()footer.phpfooter-{name}.php
get_sidebar()sidebar.phpsidebar-{name}.php
get_search_form()searchform.php
comments_template()comments.php引数でパス指定
get_template_part()任意のファイル詳細はこちら
広告

カテゴリー : WordPress