我试图将add_action挂接到其中一个插件do_action
中,但是如果我在do_action
一个插件之前调用包含add_action
的函数,则无法正常工作。
我的自定义插件中的此代码不起作用:
function function_do_action() {
$var1 = 11111;
echo $var1;
do_action('call_do_action');
}
function function_add_action() {
$var2 = 22222;
echo $var2;
add_action('call_do_action', 'call_linked_function');
}
function call_linked_function() {
$var3 = 33333;
echo $var3;
}
function_do_action();
function_add_action();
在更改功能顺序时有效:
function_add_action();
function_do_action();
我想了解为什么它没有将所有do_action
与add_action
连接起来,因为从逻辑上讲,它应该将它们全部连接在一起,然后执行生成输出。
在不知道其启动顺序的情况下挂接到do_action
第三方插件的最佳方法是什么?