get_template_part()で引数が渡せるって知ってた?!効率のいいテンプレート化ができるよ!

Miyuki

こんにちは〜!2児のフリーランスママデザイナーのMiyukiです。
コーディングって定期的にやってないと、どんどん忘れていきますね。
アウトプットして少しでも忘れ防止に励まないと^^;

私はWordPressでのサイト構築の際に、よくget_template_part関数を使います!

get_template_part関数を使うとサイトの中で同じパーツを使いまわしている時にテンプレートパーツ化して呼び出すことができるので手早く構築できます!XDでいうコンポーネントみたいな感じでしょうか?

でも、同じパーツだけど、微妙〜〜に内容が違うという時があると思います。

その度に、似たようなテンプレートを複製して〜なんてやってたこともあったのですが(脳筋)、Wordpress5.5.0でget_template_part関数に引数を渡すことができるようになり、効率よく構築できるようになりました!

get_template_part関数の便利な使い方をご紹介します〜!

この方法は、WordPressの本体バージョンが5.5.0以上でないと使用できません!

目次

そもそも、get_template_part()ってなに?

自分で作ったテンプレートパーツを別のテンプレートで呼び出すことができるとっても便利な関数です。

サイト構築をしていると、「またこれ。」「さっき作ったやつだわ・・・」みたいなこと多々あるかと思うのですが、そういう時にこの関数を作ってテンプレート化して使い回すと便利なやつです。

今まで引数を渡せなかったのですが、5.5.0から引数を渡せるようになり、より便利になりました!

詳しくは、CODEXをどうぞ!
関数リファレンス/get template part – WordPress Codex 日本語版

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

同じパーツなんだけど、テキストが違うとか画像だけ違うとかアイコンだけ違うとか・・・そんなことないですか?私はデザイン作る時、そういうのよくやります。

これを自分でコーディングする時、「なぜ私はこんなことを・・・なぜ統一しなかったんや・・・」みたいなことが起こってます。ほら、なんやらかんやらで仕方ない時ってあるんですよ、ゴニョゴニョ。

そんな時に、引数が使えると、まぁ便利なわけですね!

使い方

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
  • URLをコピーしました!

この記事を書いた人

目次