函数具有参数的ADD_ACTION

时间:2019-03-28 作者:LovinQuaQua

我有一个关于函数和add\\u action的一般性问题。

我有一个函数并添加了一个动作来完成它。但是我如何定义这个动作的参数值呢?

add_action( \'um_members_just_after_name\', \'my_members_after_user_name\', 10, 1 );
function my_members_after_user_name( $user_id ) {

    // how can i set a value for $user_id ???

    echo \'<i class="um-verified um-icon-checkmark-circled um-tip-s"></i>\';
}
对不起,这可能是一个愚蠢的问题,但我不明白它的意义。。。通常在php中是这样的,我在这里理解它

function Multiplication($x, $y) {
    $z = $x * $y;
    return $z;
}
     echo "5 * 10 = " . Multiplication(5, 10) . "<br>";
     echo "7 * 13 = " . Multiplication(7, 13) . "<br>";
     echo "2 * 4 = " . Multiplication(2, 4);

3 个回复
SO网友:NightHawk

WordPress核心插件和第三方插件可以在各自代码的执行过程中触发事件。当你打电话的时候add_action 在…上um_members_just_after_name, 你是说:无论什么时候um_members_just_after_name 动作运行,继续运行我的功能my_members_after_user_name, 也也就是说,$user_id 必须由提供um_members_just_after_name, 换句话说,如果um_members_just_after_name 不存在或不提供$user_id, 它永远不会被设定——除非你是um_members_just_after_name 行动

SO网友:MikeNGarrett

基于夜鹰发布的内容,操作通常不允许更改传递给它的参数的值,但过滤器允许更改。Read more about actions and filters 在WordPress中。

我想谈谈add_action 这是do_action.

执行并添加操作

对于操作,ado_action 添加到插件或WordPress core中的代码中,以允许您在过程中的特定点运行自己的函数。开发人员通常将其称为钩子,因为您正在钩住一个通常无法访问的进程。

您使用add_action 告诉你吧do_action 您希望它运行您的函数。

优先权10 在代码中,指定与其他位置相比,它应该运行的顺序add_action 正在使用相同的do_action

参数数量

最终参数(1 在代码中)指定所需的参数数。此数目不能超过中的参数数目do_action. 例如do_action( \'um_members_just_after_name\', $user_id ); 只会过去$user_id 无论需要多少参数。另一方面do_action( \'um_members_just_after_name\', $user_id, $user, $id ); 将传递3个参数,因此可以指定1、2或3,并在函数中提供这些参数。

Note: 这个do_action 必须指定这些参数可供您在函数中使用。

SO网友:Qaisar Feroz

您似乎想为某些用户启动此操作
试试这个

add_action( \'um_members_just_after_name\', \'my_members_after_user_name\', 10, 1 );
function my_members_after_user_name( $user_id ) {

    // how can i set a value for $user_id ???
    $user_ids =array(120, 220, 320, 420); // set values here
    if ( in_array($user_id, $user_ids ) ){


       // do something here

       echo \'<i class="um-verified um-icon-checkmark-circled um-tip-s"></i>\';
     }

}
我希望这有帮助。

相关推荐

wp_list_tables bulk actions

如何在扩展的WP\\U List\\U表中触发批量操作。我一直在将以下批量操作添加到may table的选择框中,但在Apply上不会发生任何事情下面是我如何添加批量操作的function get_bulk_actions() { $actions = array( \'delete\' => \'Delete\', \'parsing\' => \'Parsen\' );