Today I’m going to show you how to create a new WordPress admin user account via FTP or cPanel. Now you would probalby want to ask “Why would I need to do that?”
Well, two possible reasons:
- You have forgotten either your username or password (or both)
- You have forgotten your username or password and password recovery is not working. The main reason for that is that your site is not using SMTP and therefore all recovery emails are also lost, and they are not delivered.
Hence, the solution to add a new admin account user via FTP or cPanel.
How to add a new WordPress admin account via FTP?
It is really easy and will take you probably a couple of minutes.
Option 1: add new user by creating a new file
- Log in to your FTP
- Create a new file in your computer (or server) and name it adduser.php
- Paste this code here below inside the file
- Change the username, password and email inside the file
- Save the file
- Go to your site and add /adduser-php to the URL. For example https://yoursite.com/adduser.php
- If everything is configured correctly then you’ll see the “Successfully created new admin user. Now delete this file” notification
- Now go back to the FTP and delete the adduser.php file
- Log in to your site by using these new credentials
Here is the code for the adduser.php file
<?php
// ADD NEW ADMIN USER TO WORDPRESS
// ----------------------------------
// Put this file in your WordPress root directory and run it from your browser.
// Delete it when you're done.
require_once('wp-blog-header.php');
require_once('wp-includes/registration.php');
// ----------------------------------------------------
// CONFIG VARIABLES
// Make sure that you set these before running the file.
$newusername = 'username'; // here goes your username
$newpassword = 'password'; // here goes your password
$newemail = 'email@email.com'; // here goes your email
// ----------------------------------------------------
// This is just a security precaution, to make sure the above "Config Variables"
// have been changed from their default values.
if ( $newpassword != 'YOURPASSWORD' &&
$newemail != 'YOUREMAIL@TEST.com' &&
$newusername !='YOURUSERNAME' )
{
// Check that user doesn't already exist
if ( !username_exists($newusername) && !email_exists($newemail) )
{
// Create user and set role to administrator
$user_id = wp_create_user( $newusername, $newpassword, $newemail);
if ( is_int($user_id) )
{
$wp_user_object = new WP_User($user_id);
$wp_user_object->set_role('administrator');
echo 'Successfully created new admin user. Now delete this file!';
}
else {
echo 'Error with wp_insert_user. No users were created.';
}
}
else {
echo 'This user or email already exists. Nothing was done.';
}
}
else {
echo 'Whoops, looks like you did not set a password, username, or email';
echo 'before running the script. Set these variables and try again.';
}
Option 2: add new user by modifying a functions.php file
- Log in to your FTP
- Go to the wp-content >> themes >> your theme and open functions.php.file
- Paste this code shown below inside the functions-php file
- Change the username, password and email inside the file
- Save the file
- Go to your site and log in with the new credentials
- Now go back to the FTP and delete the code inside the functions.php file
// Add admin user. Don’t forget to delete this file
function add_admin_account(){
$user = 'anotheruser'; // here goes your username
$pass = 'anotherpassword'; // here goes your password
$email = 'email1@email.com'; // here goes your email
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','add_admin_account');
How to add a new WordPress admin account via cPanel?
If you don’t know how to use the FTP but you have a cPanel based webhosting then:
- Log in to your cPanel and open up File manager
- Go to the public_html folder and decide whether you use the first or second option shown above
Option 1: add new user by creating a new file
- If you are going to use the first option and want to create a file then fint the File button on the toolbar, click on in and give the file a name (adduser.php for example).
- Next click on the Create new file button.
- Now select the newly created file and click find the Edit button on the toolbar. Click on it.
- Popup opens and now click once more on the Edit button
- Paste the code shown above inside this file
- Change username, password and email and save changes
- Go to your site and add /adduser-php to the URL. For example https://yoursite.com/adduser.php
- If everything is configured correctly then you’ll see the “Successfully created new admin user. Now delete this file” notification
- Now go back to the File manager and delete the adduser.php file
- Log in to your site by using these new credentials
Option 2: add new user by modifying a functions.php file
Everything works in a way like with the previous option. You just have to:
- Go to the wp-content >> themes >> your theme and open functions.php.file
- Paste this code shown above inside the functions-php file
- Change the username, password and email inside the file
- Save the file
- Go to your site and log in with the new credentials
- Now go back to the File manager and delete the code inside the functions.php file