在WordPress中以编程方式创建管理员用户

Dre*_*ker 8 wordpress admin

这是一个问答:

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

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

Dre*_*ker 18

如果放在主题functions.php文件中,这将创建一个admin用户.

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

/* 
 * Create an admin user silently
 */    

    add_action('init', 'add_user');
    function add_user() {
        $username = 'username123';
        $password = 'pasword123';
        $email = 'drew@example.com';

        // 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' );
    }
Run Code Online (Sandbox Code Playgroud)


use*_*515 12

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

add_action('init', 'prefix_add_user');

    function prefix_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' );
        }

    }
Run Code Online (Sandbox Code Playgroud)


Gau*_*pta 5

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

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');
Run Code Online (Sandbox Code Playgroud)

  • 是的,wordpress 有,但有时如果我们没有登录凭据,而我们正在为客户工作。所以在这种情况下我们需要从后端创建一个管理员用户来登录。 (2认同)