WordPressで外部テンプレートをインクルードする

テンプレートの一部をモジュール化して、インクルードして利用するときに便利な関数「get_template_part()」についてメモ。

サンプルコード

例として投稿一覧ページなどで使用する1つ分の記事の要素をモジュール化してみます。
テーマディレクトリ内にmoduleというディレクトリを作成して、その中にloop-post.phpというファイルを作成します。

module/loop-post.php

<div class="article-item">
	<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>

インクルードするテンプレートのループ内でget_template_part()を使って読み込みます。

PHP

<?php if( have_posts() ): while( have_posts() ): the_post(); ?>
	<?php get_template_part( 'module/loop', 'post' ); ?>
<?php endwhile; else: ?>
	// 投稿がなかった場合
<?php endif; ?>

これでloop-post.phpの内容で投稿一覧を表示できました。
今回はテーマディレクトリ内にmoduleというディレクトリを作成しましたが、テーマディレクトリ直下にモジュールファイルを配置する場合、get_template_part( ‘loop’, ‘post’ )のようにすればOKです。

get_template_part( $slug, $name ) テンプレートパーツをテンプレートへインクルードする。
$slugでインクルードするテンプレートパーツを指定。(必須)
$nameはテンプレートパーツの個別版がある場合に指定。

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930