Pass argument to event hook

时间:2021-07-12 作者:Vivian

如何将参数传递给钩子函数?

my_function($arg1, $arg2){
    echo $arg1 . " " . $arg2;
}
add_action( \'init\', \'my_function\');
如果我想让我的\\u函数回显“;“你好,世界”;例如,如何使用动作挂钩发送这些参数?

2 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

我建议首先阅读wordpress文档actions 了解它们是如何工作的。

行动分为两部分,add_actiondo_action

do_action 是指;“位置”;在那里你钩住它。

的基本示例do_action

do_action(\'my_custom_action\');
您还可以将参数传递到do_action 可在中获得add_action 如果你选择使用它们。

示例do_action 带参数

do_action(\'my_custom_action\', \'Hello\', \'World!\');
从第二个参数开始,每个参数都可以在add_action

现在我们有了一个可以挂钩的动作,我们可以执行以下操作

没有参数的基本挂钩(回调函数)(我们使用my_custom_action 行动)

add_action(\'my_custom_action\', \'my_callback_func\');
function my_callback_func () {
    // your login here
}
使用参数挂钩。我们知道这一点my_custom_action 我们可以使用两个参数,为了使它们可用,我们可以执行以下操作

add_action(\'my_custom_action\', \'my_callback_func\', 10, 2);
function my_callback_func ($param1, $param2) {
    echo $param1 . \' \' . $param2;
}
out回调函数的输出将为Hello World!.

我不会详细说明add_action(\'my_custom_action\', \'my_callback_func\', 10, 2) 也就是说,wordpress对此有很好的记录。

一些add_actions 会有争论,有些不会,你需要探究每一个do_action 您希望连接到以查看您可以使用什么。

我在wordpress中开发时经常使用的一个很棒的插件是Query Monitor, 当您想了解当前页面上正在使用的操作、每个回调函数的优先级、它使用的参数等等时,使用的插件非常棒。

同样,首先阅读wordpress文档中关于钩子、动作和过滤器的内容,它会让您更好地了解它们的工作方式以及如何使用它们。

SO网友:Auraylien

根据documentation of add_action() function, 您必须通过accepted_args 参数

这段代码应该很棒:

my_function($arg1, $arg2){
    echo $arg1 . " " . $arg2;
}

add_action( \'init\', \'my_function\', 10, 2 );
你可以这样说:

do_action( \'init\', \'hello\', \'world\' );

相关推荐

WordPress用户Meta&ChromePHP或以其他方式调试/查看php变量

我正在开发一个插件来扩展BuddyBoss平台。具体来说,我正在将BB用户信息与Wordpress用户元数据同步。我的大部分代码都能正常工作(国家和地区组织更新良好),但同步我的“性别”字段并没有按预期工作。它似乎适用于男性和女性,但当选择“其他”时,它会将wordpress用户元字段设置为“女性”。我有两个问题:你能看到这段代码有什么问题吗:(忽略所有5次控制台输出尝试-这是我下面的第二个问题!)function BB_WP_SYNC_update_wordpress_usermeta( $user_i