14

这是一个问答:

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

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

4

4 回答 4

31

如果放置在主题 functions.php 文件中,这将创建一个管理员用户。请根据需要更改前三个变量。

/* 
* Create an admin user silently
*/

add_action('init', 'xyz1234_my_custom_add_user');

function xyz1234_my_custom_add_user() {
    $username = 'username123';
    $password = 'pasword123';
    $email = 'drew@example.com';

    if (username_exists($username) == null && email_exists($email) == false) {

        // 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');
    }
}
于 2013-06-25T22:43:21.810 回答
25

接受的答案有问题,并且在运行两次时会抛出致命错误,因为$user_id第二次将是空的。解决该问题的方法:

function rndprfx_add_user() {
    $username = 'username123';
    $password = 'azerty321';
    $email = 'example@example.com';

    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' );
    }
}
add_action('init', 'rndprfx_add_user');
于 2014-02-13T20:35:32.350 回答
4

以下是创建新管理员用户的查询:

INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_status) VALUES ('newadmin', MD5('pass123'), 'firstname lastname', 'email@example.com', '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');

它肯定会帮助你。:)

于 2017-07-04T13:04:26.717 回答
1

简单地说,您需要在 functions.php 中添加此代码示例:

function wpb_admin_account(){
  $user = 'Username';
  $pass = 'Password';
  $email = 'email@domain.com';
  if ( !username_exists( $user )  && !email_exists( $email ) ) {
    $user_id = wp_create_user( $user, $pass, $email );
    $user = new WP_User( $user_id );
    $user->set_role( 'administrator' );
  } 
}
add_action('init','wpb_admin_account');

不要忘记使用您自己的数据更改用户名、密码和电子邮件。这里有更详细的教程,可能会对您有所帮助。 如何以编程方式创建新的 WordPress 管理员用户

于 2018-11-11T19:39:17.867 回答