繁体   English   中英

WordPress delete_user在删除多个用户时挂钩

[英]WordPress delete_user hook when delete multiple users

我正在使用delete_user挂钩在删除用户之前执行一些操作(调用另一个函数)。 这是我的代码的一部分:

 function delete_user( $user_id ) 
{
    include('sso_functions.php');
    global $wpdb;
    $user_obj = get_userdata( $user_id );
    $email = $user_obj->user_email;
    $login = array_values(login($email)); 
    $login_err = $login[1];
    $cookie = $login[0];
    if($login_err == 0)
    {

        //....
    }
    else
    {
        //...
    }



}
add_action( 'delete_user', 'delete_user' );

Login()函数在sso_settings.php文件中声明。

如果我尝试删除,则只有一个用户运行良好。

但是,如果我尝试删除2个用户-调用login()函数,并且从Wordpress中删除了第一个用户,但是在此之后,我得到了一个PHP错误,即重新声明了函数login()。 如果我使用include_once('sso_functions.php')而不是include('sso_function.php')。 我没有收到该错误,并且用户已从Wordpress中删除,但第二用户未调用函数Login()。

知道我该如何解决吗? 谢谢!

wordrpess显示正确的错误消息。 而不是使用include('sso_functions.php'); 行尝试使用它

if(!function_exists('login')){
   include('sso_functions.php');
}

我不确定,但我认为delete_user已经是一个函数。 只需尝试将名称从delete_user替换为其他名称即可。 就像是

add_action( 'delete_user', 'wp_delete_user' );

并且也不要忘记更改函数的名称。 如果您使用插件名称作为前缀,则总是更好。 函数登录也一样,在其上添加前缀,因此其核心功能不会与自定义创建的功能混在一起。

$array = array(1,2,3,4);  //array of user that need to delete 

foreach($array as $userid)
{
 delete_user( $userid );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM