インクルードタグとは

インクルードタグは、あるテンプレートファイルの中で他のテンプレートファイルを読み込むために使います。サイトのヘッダーやフッター、サイドバーを表示させるために、ほとんどのテーマの中で記述されています。

インクルードタグとは

WordPressのテーマは、ページの種類に応じて出力されるテンプレートファイルが異なります。例えば、いまご覧いただいているこの記事(投稿ページ)は、テーマの中にあるsingle.phpというテンプレートファイルによって表示されています。

いま、パソコンでこのページにアクセスされている場合、本文の領域以外にヘッダー・フッター・サイドバーの各領域が表示されるはずです。これは、single.phpの中にインクルードタグが記述されていることにより、各領域が読み込まれているためです。図に示します。

インクルードタグの例
インクルードタグの例

上の図は、single.phpが出力されるときに、header.php、footer.php、sidebar.phpが読み込まれる様子を示しています。このとき、single.phpの中には、下記のインクルードタグが記述されています。

<?php get_header(); ?> ヘッダー(header.php)を読み込む
<?php get_footer(); ?> フッター(footer.php)を読み込む
<?php get_sidebar(); ?> サイドバー(sidebar.php)を読み込む

インクルードの記述方法

インクルードを実現するための記述方法には、次の2通りあります。

  1. WordPress独自のテンプレートタグを使う
  2. PHPのinclude文を使う

WordPress テンプレートタグによるインクルード

先程の例で示したヘッダーやフッター、サイドバーのように、よく使われる特定のインクルードに対しては、WordPressのテンプレートタグを使って記述できます。

<?php get_header(); ?> ヘッダー部分(header.php)を読み込む
<?php get_footer(); ?> フッター部分(footer.php)を読み込む
<?php get_sidebar(); ?> サイドバー部分(sidebar.php)を読み込む
<?php get_search_form(); ?> 検索フォーム(searchform.php)を読み込む
<?php comments_template(); ?> コメントテンプレート(comments.php)を読み込む

サイドバーテンプレートのファイル名指定

WordPress 2.5 以上では、サイドバーの読み込みに対してテンプレートファイル名を指定することができます。例えば、sidebar-sample.phpというファイルを読み込むには、インクルードタグを下記のように記述します。

<?php get_sidebar('sample'); ?>

PHPのinclude文によるインクルード

上記以外のテンプレートファイルを読み込むには、PHPのinclude文を記述します。また、このinclude文の中に、WordPressで定義されている定数TEMPLATEPATHを含ませます。

例えば、サイト内の各ページにサイト情報を表示させたいとしましょう。このとき、サイト情報をinfo.phpというファイルで作成するとします。このファイルを読み込むには、表示させたいページのテンプレートファイル内(例えば、メインページのhome.phpや個別記事のsingle.phpなど)に、次の記述を追加します。

<?php include( TEMPLATEPATH . '/info.php' ); ?>

この方法を使えば、表示させたい内容を表示させたいページだけに出力することができるので、カスタマイズの幅がグンと広がります。なお、表示させるページを決定するときには、テンプレート階層(テンプレートファイル出力の優先順位)を考慮するのを忘れないように注意してください。


今回ご紹介したインクルードタグについては、下記ページがとても参考になります。

関連ページ

2011年6月15日