テンプレートの一部をモジュール化して、インクルードして利用するときに便利な関数「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はテンプレートパーツの個別版がある場合に指定。 |
---|
【参考サイト】
コメントが承認されるまで時間がかかります。