2013-06-25 41 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幫助你。 :)