[WP]WordPressでテンプレートファイルを読み込む方法のまとめ

WordPress
スポンサーリンク

WordPressでテンプレートファイルを読み込む方法

例えばWordPressのテンプレートファイル「header.php」ですが、コピーして「header-○○○.php」と名付けることで別のヘッダーファイル(サブヘッダーファイル)として扱うことができます。

「カスタム投稿タイプや固定ページ用に別のヘッダーファイルが欲しい!!」なんて時に、ページに合わせたヘッダーファイルを個々に用意できる訳です。

今回は header-sample.phpというサブヘッダーファイルがある時に、「どのようにしてサブヘッダーファイルを読み込ませるか?」を3パターンに絞って紹介させていただきます。

※WordPress3.0以前だと、load_template()とかあったかと思うのですが、今回はその辺は割愛しています。


<?php get_header();?>

普通に使うとメインのヘッダーファイル「header.php」を取ってきますが、パラメータに $name を指定できるので、


とすることで、サブヘッダーファイルである header-sample.php を読み込ませることができます。

当然ながら、footer-sampleやsidebar-sampleなど、ヘッダー以外のテンプレートファイルは読み込めません。

また、サブヘッダーファイルがない場合は、メインのヘッダーファイル「header.php」が読み込まれます。


<?php include(”);?>

個人的にもちょくちょく使います。

TEMPLATEPATHで、テーマファイル(親テーマ)があるフォルダまでのパスを取得できます。

と言うことで「子テーマがある場合はどうなんだろう…」と考えてしまいますが、親しかテ−マしか持っていない場合はこの方法でも問題ないかと。



<?php get_template_part(); ?>

WordPress 3系から使える便利な関数です。

Codexでも

(ヘッダー、サイドバー、フッター以外の)テンプレートパーツをテンプレートに読み込みます。

テーマのその名前のテンプレートパーツをインクルードします。name を指定した場合は、特定の部分をインクルードします。{slug}.php ファイルが無い場合は、インクルードしません。

パラメータに関しては”{slug}-{name}.php”を呼び出します。

href=”http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_template_part

とのことですので、以下のようにサブヘッダーファイルを読み込ませます。


これだと header に限らず、footer-sampleやsidebar-sampleなど別のパーツであっても楽々読み込めます。

また、get_template_part()は「子テーマ」→「親テーマ」の順にファイルがあるかどうか?を探してきてくれますので、<?php include(”); ?>と違って子テーマがある場合でも使えます。

コメント

タイトルとURLをコピーしました