1

在删除用户之前,我正在使用 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()。

知道如何解决这个问题吗?谢谢!

4

3 回答 3

0

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

add_action( 'delete_user', 'wp_delete_user' );

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

于 2015-04-17T16:21:33.823 回答
0

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

if(!function_exists('login')){
   include('sso_functions.php');
}
于 2013-07-09T11:34:51.280 回答
0
$array = array(1,2,3,4);  //array of user that need to delete 

foreach($array as $userid)
{
 delete_user( $userid );
}
于 2016-07-06T07:54:56.347 回答