[WordPress]テンプレート内で呼び出し元の変数を使う

結論

呼び出し元

<?php
  $hoge = "こんにちは"; //$hogeが渡したい変数
  set_query_var( 'custom_var', $hoge ); //custom_varというグローバル変数に登録
  get_template_part('custom-template');
?>

テンプレート側 custom-template.php

<?php
  $var = get_query_var('custom_var'); //custom_varというグローバル変数を取り出す
  echo $var; //こんにちは が表示される
?>

グローバル変数を利用しているので乱用は危険。極力使わない、変数名を限定的にする、利用したら消すなどの対応をした方がいい。

参照

関数リファレンス/set query var - WordPress Codex 日本語版
【WordPress】get_template_partに変数を渡したいときにどうするか | tabosque.com
get_template_partでテンプレートパーツを呼び出すときに変数を配列で渡せるようにする関数を作りました。変数の定義を連想配列で行い、まとめて設定します。

コメント