get_template_part()で変数を渡す方法
【WordPress5.5以上対応】

仕事上、WordPressをよく使うナカトミツヨシ(@meganetosake)です。get_template_part()で変数を渡したい…!以前は正式な方法では渡せず、ちょっと特殊なやり方が必要だったのですが、WordPress5.5以上では正式に渡すことができるようになりました。今回はそちらの方法を解説いたします。下記のような以前の方法が使えなくなった方もこちらの方法を試してみてください!


  • get_template_part()で変数を渡したい
  • get_template_part() に set_query()を使って変数を渡していたが、変数が渡せなくなった
  • include(locate_template())を使って変数を渡していたが、渡せなくなった
  • Warning: Illegal string offset… というエラー文が出るようになった

get_template_part()の仕様が変更された

get_template_part()WordPress5.5で仕様変更があり、第三引数に変数を書くことで、別のテンプレートに変数を渡すことができるようになりました。

Having the ability to pass a variable into get_template_part would be invaluable, it would really clean up the issues with using globals and to further cement it’s use rather than the alternative of a normal PHP include/require.

It would be the third variable passed into get_template_part, which I could pass it a string, array, object, or whatever I want really. Here’s an example of passing all the current scope’s variables:

get_template_part()にて第三引数を設定すると、文字列、配列、オブジェクトなど、好きなものを渡すことができます。

使い方

基本の方はこちらです。公式の情報はこちら

get_template_part( string $slug, string $name = null, array $args = array() )

実際の利用サンプル

<?php
  get_template_part( 'templates/modules/slider.php', null, $args = array(
    'class' => 'slider',
    'options'  => array(
      'slider-title' => 'スライダー',
      'is-active' => true,
    ))
  );
?>
<?php
  if ( $args['class'] ) {
    echo $args['class'];
  }
?>

配列の場合はこのように記述します。

<?php
  if ( $args['options'] ) {
    echo $args['options']['slider-title'];
  }
?>

この方法で、get_template_part()を使って変数を渡すことができます。便利になりましたね…

更新日 :2021.08.09
MacにインストールしたVagrantをアンインストール / 公式のツール+コマンドで完全削除してみた
MacにインストールしたVagrantをアンインストール / 公式のツール+コマンドで完全削除してみた
TOPへ戻る
【jQuery】位置も自動で調整しよう : スムーズスクロールを実装
【jQuery】位置も自動で調整しよう : スムーズスクロールを実装

人気記事

回さず片手で開けられる、ビール用のグラウラーにも使える、こんな水筒を探してた : REVOMAX2

回さず片手で開けられる、ビール用のグラウラーにも使える、こんな水筒を探してた : REVOMAX2

よかったモノ / 食器
#水筒 #レビュー
カッコ良すぎて隠すどころか飾りたくなる電源タップ : Fargo STEEL TAP USB

カッコ良すぎて隠すどころか飾りたくなる電源タップ : Fargo STEEL TAP USB

よかったモノ / インテリア
#Fargo #USB #電源タップ #レビュー
吟味された原料と製法がつむぐ、旨みとふくよかなコク : サッポロ ヱビスビール

吟味された原料と製法がつむぐ、旨みとふくよかなコク : サッポロ ヱビスビール

美味しかったモノ / お酒
#ピルスナー #サッポロビール #ビール #ヱビスビール #レビュー
音声はもちろん単独でWifiに繋がって色まで変えられるすごいやつ : スマートLED電球 Tapo L530E

音声はもちろん単独でWifiに繋がって色まで変えられるすごいやつ : スマートLED電球 Tapo L530E

よかったモノ / ガジェット
#Tapo #スマート家電 #レビュー
007史上最高傑作で流した、私の涙の理由 : 映画『007 ノー・タイム・トゥ・ダイ』

007史上最高傑作で流した、私の涙の理由 : 映画『007 ノー・タイム・トゥ・ダイ』

面白かったモノ / 映画
#007 #アクション #映画 #レビュー
自立して可愛いし、転がらず大風量 : Japan Hobby Tool カメラ用ロケットブロワー

自立して可愛いし、転がらず大風量 : Japan Hobby Tool カメラ用ロケットブロワー

よかったモノ / カメラ / 撮影機材
#ブロワー #カメラ #レビュー
CATEGORY
HAS TAG
  1. ホーム
  2. デザイン・仕事のコト
  3. 技術ブログ
  4. get_template_part()で変数を渡す方法【WordPress5.5以上対応】