ファイル分割のもう一つの方法【get template part】

前回は get_header() を使ってヘッダーファイルを分割する方法を紹介しました。

WordPressには、ヘッダーやフッター以外のファイルを分割するための仕組みも用意されています。

それが get_template_part() です。

get_template_partとは

get_template_partは、指定したPHPファイルを読み込むための関数です。

例えば、記事一覧やプロフィール欄など、複数のページで使い回したい部分を別ファイルにしておき、必要な場所で呼び出すことができます。

<?php get_template_part(‘template-parts/profile’); ?>

template-parts/profile.php

が読み込まれます。

ファイル分割の実例

まず自分で作成したテーマのフォルダに新たにtemplate-partsという名前のフォルダを作ります。

その中に今回はcontent-test.phpというファイルを作ります。このファイルの中身は

<p>テンプレートパーツの中身です。</p>

の記述のみです。

部品の用意はこれだけで、後はindex.phpファイルで上記のファイルを読み込む記述を書いたたら完成です。

index.phpに記述するテンプレートパーツの読み込み

    get_template_part(‘template-parts/content’, ‘test’);

引数の部分が少し分かりにくいですが、第一引数の部分でファイル名のconentまでを指定して、第二引数にハイフン以降の名前を指定すると、読み込むファイルを設定する事が出来ます。

今回は動作を理解する為に、文章一つをテンプレートファイルで用意しましたが、複数ページで表示するような内容はテンプレートファイルにまとめておくと、index.phpやpage.phpなどほかのテーマ内のphpファイルに挿入するのが簡単になったり、テンプレートファイルの中身を編集したら、挿入されている全てのページに変更が反映されるなど管理が楽になる部分があると思います。

このようにheaderやfooterだけでなく、複数箇所で利用できる記述などは、部品としてまとめておくと、変更の際の手間が一つ減り、品質向上に繋がります。