header.php
やfooter.php
など別れているテンプレートで共通の表示や値を使いたい時、ハードコーディンしてると修正があった時面倒とか、管理画面から入力された値を使って出力したい場合、共通の変数にしてテンプレートで使いまわせると便利かもしれません。
global変数を作る
WordPressはPHPでできていて全ページでfunction.phpが使われているので、ここにglobal変数を設定してしまえば、header.php
とかsingle.php
とかのテンプレート内でもこの変数を使うことができます。
■ function.php
<?php // function.php function my_setup() { global $my_global_var; $my_global_var = "たーのしー!"; } add_action( 'after_setup_theme', my_setup );
下記のようにfunction.php
のトップレベルのスコープに変数定義を書いてもWordPressのグローバル変数になるようです。
<?php // function.php $my_global_var = "たーのしー!";
■ header.php や single.php などのテンプレートで使う
<?php global $my_global_var; echo $my_global_var; // "たーのしー!"
当然WordPressのglobal変数や使用しているプラグインの変数を書換えてしまう可能性もあるので、変数を取得できる関数を作成する方が安全だとは思います。
独自のglobal変数を使う場合はWordPressのglobal変数を汚染しないようにprefixなどを付けた変数名を付けるのが良いと思います。
[参考]
- php - How to set and use global variables? Or why not to use them at all - WordPress Development Stack Exchange
- トピック: functions.phpで宣言した変数をfooter.php等で参照したい « サポートフォーラム — WordPress
- 初期化に関連するアクションのおさらい:WordPress私的マニュアル
- グローバル変数・定数:WordPress私的マニュアル

- 作者: 谷本真由美(@May_Roma)
- 出版社/メーカー: KADOKAWA
- 発売日: 2016/06/16
- メディア: 単行本
- この商品を含むブログを見る