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. :)