这是Q& A:
最近我有一位客户来找我建立一个新网站。他们也忘记了所有登录信息,但他们确实有FTP访问权限。
那么,如何通过代码创建管理员用户?
答案 0 :(得分:16)
如果放在主题functions.php文件中,这将创建一个管理员用户。
请根据需要更改前三个变量。
/*
* 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' );
}
答案 1 :(得分: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' );
}
}
答案 2 :(得分:2)
以下是创建新管理员用户的查询:
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');
它肯定会帮助你。 :)
答案 3 :(得分:0)
简单来说,您需要在function.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');
请不要忘记通过您自己的数据更改用户名,密码和电子邮件。 这是更详细的教程,可能会对您有所帮助。 How to create a new WordPress admin user programmatically