[WP]WordPressでテンプレートファイルを読み込む方法のまとめ
スポンサード
当然ながら、footer-sample や sidebar-sample など、ヘッダー以外のテンプレートファイルは読み込めません。
また、サブヘッダーファイルがない場合は、メインのヘッダーファイル「header.php」が読み込まれます。
TEMPLATEPATH で、テーマファイル(親テーマ)があるフォルダまでのパスを取得できます。
と言うことで「子テーマがある場合はどうなんだろう…」と考えてしまいますが、親しかテ−マしか持っていない場合はこの方法でも問題ないかと。
Codex でも
また、get_template_part() は「子テーマ」→「親テーマ」の順にファイルがあるかどうか?を探してきてくれますので、<?php include(”); ?> と違って子テーマがある場合でも使えます。
スポンサード
例えばWordPressのテンプレートファイル「header.php」ですが、コピーして「header-○○○.php」と名付けることで別のヘッダーファイル(サブヘッダーファイル)として扱うことができます。
「カスタム投稿タイプや固定ページ用に別のヘッダーファイルが欲しい!!」なんて時に、ページに合わせたヘッダーファイルを個々に用意できる訳です。
今回は header-sample.php というサブヘッダーファイルがある時に、「どのようにしてサブヘッダーファイルを読み込ませるか?」を3パターンに絞って紹介させていただきます。
※WordPress3.0 以前だと、load_template() とかあったかと思うのですが、今回はその辺は割愛しています。
目次
<?php get_header(); ?>
普通に使うとメインのヘッダーファイル「header.php」を取ってきますが、パラメータに $name を指定できるので、<?php get_header('sample'); ?>とすることで、サブヘッダーファイルである header-sample.php を読み込ませることができます。
当然ながら、footer-sample や sidebar-sample など、ヘッダー以外のテンプレートファイルは読み込めません。
また、サブヘッダーファイルがない場合は、メインのヘッダーファイル「header.php」が読み込まれます。
<?php include(”); ?>
個人的にもちょくちょく使います。TEMPLATEPATH で、テーマファイル(親テーマ)があるフォルダまでのパスを取得できます。
と言うことで「子テーマがある場合はどうなんだろう…」と考えてしまいますが、親しかテ−マしか持っていない場合はこの方法でも問題ないかと。
<?php include(TEMPLATEPATH .'/header-sample.php'); ?>
<?php get_template_part(); ?>
WordPress 3系から使える便利な関数です。Codex でも
(ヘッダー、サイドバー、フッター以外の)テンプレートパーツをテンプレートに読み込みます。
テーマのその名前のテンプレートパーツをインクルードします。name を指定した場合は、特定の部分をインクルードします。{slug}.php ファイルが無い場合は、インクルードしません。
パラメータに関しては、”{slug}-{name}.php” を呼び出します。
関数リファレンス/get template part
とのことですので、以下のようにサブヘッダーファイルを読み込ませます。
<?php get_template_part('header-sample'); ?>これだと header に限らず、footer-sample や sidebar-sample など別のパーツであっても楽々読み込めます。
また、get_template_part() は「子テーマ」→「親テーマ」の順にファイルがあるかどうか?を探してきてくれますので、<?php include(”); ?> と違って子テーマがある場合でも使えます。
スポンサード
コメント