Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress删除多个用户时的用户钩子_Php_Wordpress - Fatal编程技术网

Php WordPress删除多个用户时的用户钩子

Php WordPress删除多个用户时的用户钩子,php,wordpress,Php,Wordpress,我正在使用delete_user hook在用户被删除之前执行一些操作(调用另一个函数)。 这是我代码的一部分: function delete_user( $user_id ) { include('sso_functions.php'); global $wpdb; $user_obj = get_userdata( $user_id ); $email = $user_obj->user_email; $login = array_valu

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

 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()

你知道我该怎么解决这个问题吗?
谢谢

该字按显示正确的错误消息。而不是使用include('sso_functions.php');试着用它

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

我不确定,但我认为删除用户已经是一个功能。请尝试将“删除用户”中的名称替换为其他名称。差不多

add_action( 'delete_user', 'wp_delete_user' );

而且别忘了更改函数的名称。如果您使用您的插件名称作为前缀,效果总是更好。函数登录也一样,添加一个前缀,这样它的核心函数就不会与自定义创建的函数混合使用。

谢谢您的回答,但这没有帮助。再次说明,第二个用户没有调用登录函数。我最终解决了这个问题-我检查我是否在“删除用户”页面上,我包括sso_functions.php文件。我没有在函数“delete_user()”中包含该文件。请使用更多信息进行编辑。不鼓励只编写代码和“试试这个”答案,因为它们不包含可搜索的内容,也不解释为什么有人应该“试试这个”。
$array = array(1,2,3,4);  //array of user that need to delete 

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