インクルードファイルの作成

WordPressでインクルードを行う方法はとても簡単で、まずはインクルードしたい個所のコードを別ファイルに記述して名前を付けるだけです。一般的なものには「header.php」「footer.php」「sidebar.php」などがあります。これらのパーツ化したいファイルの準備ができたら、あとは以下のいずれかの方法でファイルを読み込めばOKです。

インクルードタグを使う

WordPressには、あらかじめ以下のようなインクルードタグが用意されていますので、インクルードしたいファイルによってタグを使い分けるだけです。

インクルードタグ一覧

get_header()
header.phpをインクルードするタグ
get_footer()
footer.phpをインクルードするタグ
get_sidebar()
sidebar.phpをインクルードするタグ
get_search_form()
searchform.phpをインクルードするタグ
comments_template()
comments.phpをインクルードするタグ
get_template_part()
任意のファイルをインクルードするタグ

記述方法はいずれも共通で、上記のコードをそのまま記述すればデフォルトのファイルが呼び出せます。例えば「get_header()」を使ってheader.phpを読み込ませたい場合は、インクルードさせたい個所に、

<?php get_header(); ?>

と記述するだけです。他にも、丸括弧の中に該当の文字列をシングルクォーテーションで括って記述することも可能です。例えば、

<?php get_header('2'); ?>

と記述すると、header-2.phpというファイルを探してインクルードしてくれます。数字はいくつに変更しても構いません。ほかにも、

<?php get_header('page'); ?>

なんて書き方も可能で、この場合はheader-page.phpというファイルを探してインクルードしてくれます。

get_template_part()

「get_template_part()」は、ヘッダーやフッターといったあらかじめ決められたファイルのインクルードではなく、任意のファイルをインクルードする際に使います。例えば、解析用コードを記述する個所をパーツ化して「analyze.php」とファイルを作ったとします。これをページにインクルードする場合は、

<?php get_template_part('analyze'); ?>

という書き方をします。

また、このget_template_partは、階層指定も可能です。例えば、以下のようにインクルード用のファイルが相当数あったとしますよね。私の場合、こういうファイルは「inc」フォルダを作成してその中に整頓しておきたいのですが、

こういった場合は、

<?php get_template_part('inc/analyze'); ?>

と記述してあげれば、「inc」の「analyze.php」をインクルードしてくれます。

おまけ

WordPress外から上記のインクルードタグを使うには?

はい、普通に書くだけでは当たり前ですが機能しません。周囲から稀に聞かれることがあるので今度書こうと思うのでここでは簡単に。WordPressの外でWordPressのインクルードタグを使うには、そのファイルの最初に

<?php require('../wp-blog-header.php'); ?>

と記述して、まずはじめにwp-blog-header.phpを読み込ませるようにしてあげましょう。そうすることで、

<?php require('../wp-blog-header.php'); ?>
<?php get_header() ?>
<?php get_template_part('content'); ?>
<?php get_sidebar() ?>
<?php get_footer() ?>

のように、WordPressのテーマじゃなくても、WordPressの外のファイルであってもインクルードタグが使えます。「../wp-blog-header.php」の個所は、皆さんの環境に合わせて階層を変更してください。ちなみにここを「独自ドメインで指定すれば、他人のサイトのheaderとか読ませられるじゃね?」的な発想の方、アウト~。当然ですが出来ません。