2013-06-25 30 views
8

这是问答&一个程序创建一个管理员用户:在WordPress

最近我有一个客户到我这里来建立一个新的网站。他们也忘记了他们的所有登录信息,但他们确实拥有FTP访问权限。

那么,你如何通过代码创建一个管理员用户?

回答

13

这将创建一个管理员用户,如果放置在themes functions.php文件中。

请根据需要更改前三个变量。

/* 
* Create an admin user silently 
*/  

    add_action('init', 'add_user'); 
    function add_user() { 
     $username = 'username123'; 
     $password = 'pasword123'; 
     $email = '[email protected]'; 

     // Create the new user 
     $user_id = wp_create_user($username, $password, $email); 

     // Get current user object 
     $user = get_user_by('id', $user_id); 

     // Remove role 
     $user->remove_role('subscriber'); 

     // Add role 
     $user->add_role('administrator'); 
    } 
+0

不错的一个谢谢... –

+0

小心,如果这个脚本运行两次,它会导致remove_role线上的致命错误。 – user2019515

+0

发布了一个解决方法 – user2019515

9

接受的答案有问题,将抛出一个致命错误时,其运行两次,因为$user_id将是空的第二次。一种问题解决方法:

add_action('init', 'prefix_add_user'); 

    function prefix_add_user() { 

     $username = 'username123'; 
     $password = 'azerty321'; 
     $email = '[email protected]'; 

     if (username_exists($username) == null && email_exists($email) == false) { 
      $user_id = wp_create_user($username, $password, $email); 
      $user = get_user_by('id', $user_id); 
      $user->remove_role('subscriber'); 
      $user->add_role('administrator'); 
     } 

    } 
0

这里是查询创建一个新管理员用户

INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status) VALUES ('newadmin', MD5('pass123'), 'firstname lastname', '[email protected]', '0'); 

INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'); 

INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10'); 

它将definitly帮助你。 :)