みーちゃんこんにちは〜!2児のフリーランスママデザイナーのみーちゃんです。
私はWordPressでのサイト構築の際に、よくget_template_part関数を使います!
get_template_part関数を使うとサイトの中で同じパーツを使いまわしている時にテンプレートパーツ化して呼び出すことができるので手早く構築できます!XDでいうコンポーネントみたいな感じでしょうか?
でも、同じパーツだけど、微妙〜〜に内容が違うという時があると思います。
その度に、似たようなテンプレートを複製して〜なんてやってたこともあったのですが、Wordpress5.5.0以降からget_template_part関数に引数を渡すことができるようになり、効率よく構築できるようになりました!
そんなget_template_part関数の便利な使い方をご紹介します〜!
get_template_part関数の仕様
get_template_part( $slug, $name, $args );
- 第一引数($slug)・・・ファイルまでのパス(※必須)
- 第二引数($name)・・・テンプレートの名前(オプション)
- 第三引数($args)・・・テンプレートに渡す配列(オプション)
今まで引数を渡せなかったのですが、5.5.0から引数を渡せるようになり、より便利になりました!


引数渡せると何が嬉しいの?


et_template_part関数は、自分で作ったテンプレートパーツを別のテンプレートで呼び出すことができるとっても便利な関数です。
同じパーツなんだけど、テキストが違うとか画像だけ違うとかアイコンだけ違うとか・・・そんなことないですか?私はデザイン作る時、そういうのよくやります。
これを自分でコーディングする時、「なぜ私はこんなことを・・・なぜ統一しなかったんや・・・」みたいなことが起こってます。いや、デザインは統一してたけど、文言がなんやらかんやらで仕方ない時ってあるんですよ。
そんな時に、引数が使えると、便利なわけですね!
get_template_part関数は、どうやって使うの?
get_template_part()に第三引数 $args を渡して使用します!
呼び出し
呼び出し側のphpに、$argsで引数をして値を渡してやります。
// テンプレート読み込み
$args = [
'sample_text' => 'ここに文字入れる',
'sample_array' => [1, 2, 3],
];
get_template_part('sample', null, $args);
上のnullは、スラッグ名が入ります。上記は呼び出すファイル名がsample.php という名前のため第二引数がnullになりますが、sample-hoge.phpのような形であれば、下記のような感じになります。
get_template_part('sample', 'hoge', $args);
テンプレート側
呼び出し側で私た引数$argsを受け取ります。
// 受け取った$argsの値を取り出す。
echo $args['sample_text']; // ここに文字入れる
echo implode(',', $args[sample_array']); // 1,2,3
上記のような形で$argsの中身を取り出すことができます!ね、便利。
さいごに・・・
get_template_part() に引数を渡して、快適なコーディングライフをお楽しみくださいー!
get_template_part() | Function |
WordPress Developer Resources








