get_template_part()でのパーツの読み込みと引数の使用方法【WordPress】

最終更新日:

公開日:2024-08-06

ページ内に広告が含まれています。
get_template_part()でのパーツの読み込みと引数の使用方法【WordPress】

WordPressでテンプレートにテンプレートパーツを読み込む事が出来るのがget_template_part()関数です。
get_template_part()関数の使い方や、引数について解説していきます。

get_template_part()関数の基本的な使い方

まずはget_template_part()関数の基本的な使い方についてです。
例として、parts.phpというファイルを読み込みたい場合は以下のように記述します。

get_template_part( 'parts' );

拡張子無しで読み込みたいファイル名を記述しますが、ファイルの場所はテーマファイルのフォルダから見た相対パスとなります。
incフォルダにparts.phpがある場合は、

get_template_part( 'inc/parts' );

となります。
get_template_part()関数は、require_onceではなくrequireで読み込まれますので、同じパーツを複数回読み込む事も可能です。

次に、get_template_part()関数の引数について解説していきます。

get_template_part()関数のパラメーター・引数について

get_template_part()関数には以下の3つのパラメーターを渡す事ができます。

get_template_part( $slug, $name, $args );

第1引数($slug)にはファイルのパス、第2引数($name)にはテンプレート名(任意)、第3引数には変数(任意)を入れる事ができます。先程の例で言えば、第1引数にはpartsが入ります。

パーツの種類を目的別に用意する場合

例えば、parts.phpを以下のように目的別に用意する場合、

  • parts-post.php
  • parts-page.php
  • parts-archive.php

これらを読み込む場合は第2引数を以下のように指定します。

//parts-post.php
get_template_part( 'parts', 'post' );

//parts-page.php
get_template_part( 'parts', 'page' );

//parts-archive.php
get_template_part( 'parts', 'archive' );

上記のように指定すると、目的別にパーツの種類を変更し読み込む事が出来るようになります。
続いて、第3引数について解説していきます。

第3引数に変数(配列)を渡す

第3引数には変数を渡す事ができます。
例として、index.phpparts.phpに変数を渡します。

//ineex.php

$args = array(
	'val' => '第3引数に渡すテキスト',
);
get_template_part( 'parts', null, $args );

変数$argに配列でテキストを入れました。この変数をテンプレート側で取得します。
第3引数を使用する際に第2引数が無い場合は上記のように「null」を指定します

//parts.php

if ( isset( $args ) && isset( $args['val'] ) ) {
    $text = $args['val'];
}
echo $text; // 「第3引数に渡すテキスト」と表示される

上記のようにする事でparts.phpで「第3引数に渡すテキスト」と表示されます。
if文$argや配列内容の有無をチェックをする事で、空の場合のエラーを回避できます

この第3引数を使用する事で動的な表示が出来るようになります。

さいごに

いかがでしたでしょうか。
パーツを目的別に分けて使用する事で管理がしやすくなります。便利な関数になりますので積極的に使用していきましょう。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。プロフィールはこちら

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼
PAGE TOP