How to create WordPress user without accessing to the database?

I am developing WordPress website but do not have access to phpMyAdmin. I want to create a Wordpress user with administrator role. Can some tell me a better solution for this? 

Asked 31 Jul, 17 at 09:54 PM

Tim Martin
Php Wordpress

Answer

When working with programs that require you to log in, such as Wordpress, there can be times when you seem to be locked out of your account. This can happen via a code error, a hack, accidental admin account deletion, or a malicious site partner changing information on you. If this happens, you will need to create a new admin account in order to regain access to the administration interface. You will need to do this by interacting directly with the database. Below is a step by step guide for doing just that in your WordPress installation.  

Creating a new admin account via MySQL

Step 1: To begin, log into your cPanel interface.
Step 2: From the main cPanel screen, find the Databases category and click on the icon entitled phpMyAdmin.
Step 3: Once the first screen appears, look to the left-hand sidebar and click on the database for your specific WordPress installation. If you do not know which database is the correct one, you can find out by using these instructions.
Step 4: After the database information loads, you will need to find the tab named SQL and click on it.
Step 5: This leads you to an SQL editor where you will enter some code that will create a new admin account for you. Below is the code to create a new admin account named newadmin with the password pass123. You may change any of the content in red to fit your needs, but leave all other data as is. 

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


Step 6: After replacing any data fields you need, click the Go button to perform the insertion. 

Step 7: This should simply refresh the screen and you should see the message '1 row affected' after each of the three SQL statements. This means the insertion ran smoothly. From here, visit your WordPress admin login area as normal and use the new admin login information. You should get to the admin interface without issue.


Another Quick Method is creating a WordPress function:

function wpb_admin_account(){
$user = 'anand';
$pass = '***************';
$email = 'anand.royallogics@gmail.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');


Hope this will help you to solve the problem.
Enjoy!

like