読み込む側のPHPファイルをA,読み込まれる側のPHPファイルをBとします。
Bの中で設定した変数の値をAの側で使用する場合なのですが..
WordPressでない,普通(?)のPHPファイルでは想定通りA側の処理でBの中で入れた値を取得することが出来ます。
例えば..
a.php
php
1require_once("b.php"); 2echo $hoge;
b.php
php
1<?php 2$hoge="hoge"
これでa.phpにブラウザでアクセスすると結果として「hoge」が表示されます。
これと同じようにWordPressのテーマのテンプレートで..
例えばフロントページ用のテンプレートでpage-front.phpを編集して
papge-front.pphp
php
1//wordpressの関数やヘッダなど... 2require_once("b.php"); 3echo $hoge; 4 5//wordpressの関数やフッタなど
としてフロントページを表示すると..何も出力されません。
この動作の違いはWordPressの仕様によるものでしょうか?
不思議なことに読み込まれるphpファイルで定義した関数は実行されるます。
つまり,ファイルが読み込めていないということでは無いはずですが..。
また,WordPressのテンプレートを編集して独自の機能などを組み込みたい場合に,外部ファイルを読み込ませる時の定石などがあるのでしょうか?