teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

一部修正

2021/05/20 03:52

投稿

D.O
D.O

スコア55

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  読み込む側のPHPファイルをA,読み込まれる側のPHPファイルをBとします。
2
- Bの中で設定した変数の値をAの側で使用するというイメージです
2
+ Bの中で設定した変数の値をAの側で使用する場合なのですが..
3
3
 
4
4
  WordPressでない,普通(?)のPHPファイルでは想定通りA側の処理でBの中で入れた値を取得することが出来ます。
5
5
 

1

コードの例を入れました

2021/05/20 03:52

投稿

D.O
D.O

スコア55

title CHANGED
File without changes
body CHANGED
@@ -3,10 +3,37 @@
3
3
 
4
4
  WordPressでない,普通(?)のPHPファイルでは想定通りA側の処理でBの中で入れた値を取得することが出来ます。
5
5
 
6
- WordPressのテンプレートファイルをA側として同じことをしようとすると,テーマファイル側ではBの中で入れた値が空になっているようです。
6
+ 例えば..
7
7
 
8
+ a.php
9
+ ```php
8
- WordPressのPHPはそういう動作にいなるのでしょうか?
10
+ require_once("b.php");
11
+ echo $hoge;
12
+ ```
9
13
 
14
+ b.php
15
+ ```php
16
+ <?php
10
- そうだとするとWordPressのテーマファイル内に独自の機能を持たせたい場合はどのようにするのが定石でしょうか?
17
+ $hoge="hoge"
18
+ ```
11
19
 
20
+ これでa.phpにブラウザでアクセスすると結果として「hoge」が表示されます。
21
+
22
+ これと同じようにWordPressのテーマのテンプレートで..
23
+ 例えばフロントページ用のテンプレートでpage-front.phpを編集して
24
+
25
+ papge-front.pphp
26
+ ```php
27
+ //wordpressの関数やヘッダなど...
28
+ require_once("b.php");
12
- よろしくお願いします。
29
+ echo $hoge;
30
+
31
+ //wordpressの関数やフッタなど
32
+ ```
33
+
34
+ としてフロントページを表示すると..何も出力されません。
35
+ この動作の違いはWordPressの仕様によるものでしょうか?
36
+ 不思議なことに読み込まれるphpファイルで定義した関数は実行されるます。
37
+ つまり,ファイルが読み込めていないということでは無いはずですが..。
38
+
39
+ また,WordPressのテンプレートを編集して独自の機能などを組み込みたい場合に,外部ファイルを読み込ませる時の定石などがあるのでしょうか?