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

回答編集履歴

3

さらに調べて変更

2025/06/13 11:32

投稿

TakaiY
TakaiY

スコア14428

answer CHANGED
@@ -5,4 +5,11 @@
5
5
  add_functionはたぶん関数をフックに設定する関数ですので、実行しただけでは、登録した関数は実行されないはずです。
6
6
  また、add_actionの第2引数にある関数定義の仮引数 $set_b と sample_function_a の仮引数$set_b とは別の物なので、このように記述しても、sample_function_aを実行するときに与えた実引数の値は入りません。
7
7
 
8
- add_actionで登録した関数に値を渡すのは、そのフックを実行するタイミングだと思うので、実行するところに渡すのが本筋です。
8
+ add_actionで登録した関数に値を渡すのは、そのフックを実行するタイミングだと思うので、実行するところに渡すのが本筋です。
9
+
10
+ また、sample_function_aの実行時点での値にしたいのであれば、PHPのスコープがどうなっているかよく知りませんが、add_actionの第2引数にある関数定義の仮引数 $set_b を無くすと想定どおりになるかもしれません。
11
+ ```php
12
+ add_action('wp_footer',function(){
13
+ ```
14
+ こうすると、ここで定義している関数の中にある $set_bが外側の$set_bを参照することになるはず。
15
+ ※ useを使って明示したほうがいいでしょうけど。

2

誤字

2025/06/13 11:23

投稿

TakaiY
TakaiY

スコア14428

answer CHANGED
@@ -3,6 +3,6 @@
3
3
  add_actionの第2引数にある関数定義の仮引数 $set_b に、それを定義している関数 sample_function_a の仮引数$set_b が渡されて表示されると考えているということでしょうか。
4
4
 
5
5
  add_functionはたぶん関数をフックに設定する関数ですので、実行しただけでは、登録した関数は実行されないはずです。
6
- また、add_actionの第2引数にある関数定義の仮引数 $set_b と sample_function_a の仮引数$set_b とは別の物なので、このように記述しても、sample_function_aを実行するときに与えた実引数の値は入りまん。
6
+ また、add_actionの第2引数にある関数定義の仮引数 $set_b と sample_function_a の仮引数$set_b とは別の物なので、このように記述しても、sample_function_aを実行するときに与えた実引数の値は入りまん。
7
7
 
8
8
  add_actionで登録した関数に値を渡すのは、そのフックを実行するタイミングだと思うので、実行するところに渡すのが本筋です。

1

間違えていたので修正

2025/06/13 11:21

投稿

TakaiY
TakaiY

スコア14428

answer CHANGED
@@ -5,10 +5,4 @@
5
5
  add_functionはたぶん関数をフックに設定する関数ですので、実行しただけでは、登録した関数は実行されないはずです。
6
6
  また、add_actionの第2引数にある関数定義の仮引数 $set_b と sample_function_a の仮引数$set_b とは別の物なので、このように記述しても、sample_function_aを実行するときに与えた実引数の値は入りますん。
7
7
 
8
- PHPのスコープがどうなっているかよく知りませんが、add_actionの第2引数にある関数定義の仮引数 $set_b を無くすと想定どおりになる可能性があります。
9
- ```php
10
- add_action('wp_footer',function(){
11
- ```
12
- これで、この関数の中にある $set_bが外側の$set_bを参照できるようになるかもしれません。
13
-
14
- add_actionで登録した関数に引数を渡すのは、そのフックを実行するタイミングだと思うので、実行するところに渡すのが本筋かもしれません。 これは設計によりま
8
+ add_actionで登録した関数にを渡すのは、そのフックを実行するタイミングだと思うので、実行するところに渡すのが本筋す。