こんにちは〜!2児のフリーランスママデザイナーのMiyukiです。
コーディングって定期的にやってないと、どんどん忘れていきますね。
アウトプットして少しでも忘れ防止に励まないと^^;
私はWordPressでのサイト構築の際に、よくget_template_part関数を使います!
get_template_part関数を使うとサイトの中で同じパーツを使いまわしている時にテンプレートパーツ化して呼び出すことができるので手早く構築できます!XDでいうコンポーネントみたいな感じでしょうか?
でも、同じパーツだけど、微妙〜〜に内容が違うという時があると思います。
その度に、似たようなテンプレートを複製して〜なんてやってたこともあったのですが(脳筋)、Wordpress5.5.0でget_template_part関数に引数を渡すことができるようになり、効率よく構築できるようになりました!
get_template_part関数の便利な使い方をご紹介します〜!
そもそも、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