Create an admin user programmatically in WordPress Create an admin user programmatically in WordPress wordpress wordpress

Create an admin user programmatically in WordPress


This will create an admin user if placed in a themes functions.php file. Please change the first three variables as needed.

/* * 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');    }}


Accepted answer has issues and will throw a fatal error when its run twice, because the $user_id will be empty the second time. A work around for the issue:

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');


Here is the queries to create a new admin user :

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');

It will definitly help you. :)