Type something to search...
How to add new users to a WordPress site?

How to add new users to a WordPress site?

To add a new user to a WordPress site, log in as an Administrator, go to Users > Add New User, fill in a username and email address, choose a role, and click Add New User. WordPress creates the account and, if you leave the notification option checked, emails the person a link to set their password. The whole process takes less than a minute.

Whether you're bringing on a co-author, giving a developer temporary access, or letting visitors create their own accounts, WordPress offers several ways to add users. This article covers adding users manually, enabling open registration, adding users on multisite, using WP-CLI and code for bulk or automated tasks, and best practices to keep your site secure as your team grows.

Who Can Add New Users?

On a single WordPress site, only users with the create_users capability can add accounts. By default, that's the Administrator role. Editors, Authors, Contributors, and Subscribers can't add users.

On a WordPress Multisite network, Super Admins control user creation. Depending on network settings, site Administrators may be able to add existing network users to their site or create new ones.

If you don't see the Users > Add New User menu item, your account doesn't have permission. Ask the site owner or a Super Admin for help.

Method 1: Add a New User From the Dashboard

This is the most common method and works on every WordPress site.

  1. Go to the Users screen: In your dashboard, navigate to Users > Add New User.

  2. Enter a username: Choose a username the person will use to log in. Usernames can't be changed later through the dashboard, so pick something sensible. Avoid obvious choices like "admin."

  3. Enter an email address: This must be a unique, valid email. WordPress uses it for notifications and password resets.

  4. Add optional details: You can enter a first name, last name, and website. These can be updated later by the user.

  5. Set a password: WordPress generates a strong password automatically. You can click Show password to view or change it, though it's usually best to let the user set their own via the email link.

  6. Send a notification: Keep Send the new user an email about their account checked. The email contains a link for the user to set their password, which is more secure than sharing a password yourself.

  7. Choose a role: Pick the appropriate role from the dropdown, such as Subscriber, Contributor, Author, Editor, or Administrator.

  8. Click Add New User: WordPress creates the account and redirects you to the users list.

Choosing the Right Role

Picking the right role is the most important decision when adding a user. A quick guide:

  • Administrator: Full control of the site. Reserve for the owner and trusted technical staff.
  • Editor: Manages all content, including other people's posts and pages. Good for content managers.
  • Author: Writes and publishes their own posts. Good for trusted regular writers.
  • Contributor: Writes posts but can't publish them. Good for guest writers or new team members.
  • Subscriber: Can log in and manage their profile. Good for members and customers.

When in doubt, start with a lower role. You can always upgrade someone later from Users > All Users.

Method 2: Allow Users to Register Themselves

If you run a community site, a membership site, or a blog that requires accounts for commenting, you can let people register on their own.

  1. Go to Settings > General.

  2. Find the Membership setting: Tick Anyone can register.

  3. Set the New User Default Role: Choose the role new registrants receive. For almost every site, this should be Subscriber.

  4. Save Changes.

Visitors can now register at yoursite.com/wp-login.php?action=register. WordPress also shows a "Register" link on the login screen.

Protect Open Registration From Spam

Open registration attracts spam bots quickly. To reduce fake accounts:

  • Add a CAPTCHA: Plugins like Advanced Google reCAPTCHA, Simple Cloudflare Turnstile, or the CAPTCHA features in security plugins can protect the registration form.
  • Require email verification: Many membership and registration plugins require users to confirm their email before their account is active.
  • Moderate new users: Some plugins let you approve registrations manually before accounts become active.
  • Never use a high default role: Setting the default role to Editor or Administrator would give anyone who registers dangerous access.

If you want a more branded registration experience with custom fields, you can build a custom registration form using a form or membership plugin.

Method 3: Add Users on a WordPress Multisite Network

On multisite, users exist at the network level and can be added to one or more sites.

Adding a Brand New User to the Network

  1. Go to My Sites > Network Admin > Users.
  2. Click Add New User.
  3. Enter a username and email address.
  4. Click Add User. The user receives an email with login details.

Adding a User to a Specific Site

  1. Go to the site's dashboard and open Users > Add New User.
  2. In the Add Existing User section, enter the email or username of someone already on the network, choose a role, and click Add Existing User.
  3. If allowed by network settings, you can also create a brand new user from the same screen.

By default, WordPress sends a confirmation email that the user must accept before they're added to the site. Super Admins can skip this with the Skip Confirmation Email option.

Network-wide registration settings are under Network Admin > Settings > Network Settings, where you can choose whether users can register, create sites, or both.

Method 4: Add Users With WP-CLI

If you have SSH access, WP-CLI is a fast way to add users, especially when you need to create several accounts at once or script the process.

Create a Single User

wp user create janedoe jane@example.com --role=author --first_name=Jane --last_name=Doe --send-email

If you don't pass --user_pass, WP-CLI generates a random password and prints it in the output. The --send-email flag sends the standard new user email.

Import Users From a CSV File

To add many users at once, prepare a CSV file with a header row:

user_login,user_email,display_name,role
janedoe,jane@example.com,Jane Doe,author
johnsmith,john@example.com,John Smith,contributor

Then run:

wp user import-csv users.csv

Add --send-email to send new user notifications, and add --skip-update if you don't want existing users in the file to be updated.

Other Helpful User Commands

# List all users with their roles
wp user list --fields=ID,user_login,user_email,roles

# Change a user's role
wp user set-role janedoe editor

# Send a password reset email
wp user reset-password janedoe

# Delete a user and reassign their posts to user ID 1
wp user delete johnsmith --reassign=1

Method 5: Add Users With Code

Developers sometimes need to create users programmatically, for example, as part of an onboarding workflow or a custom integration. Use wp_insert_user(), which handles sanitization and password hashing.

This example runs inside a custom plugin or a one-off admin action. Never leave hardcoded credentials in a live site's code.

<?php
/**
 * Create a user programmatically if one doesn't already exist.
 */
function sajjad_create_team_user( $username, $email, $role = 'author' ) {
    $username = sanitize_user( $username, true );
    $email    = sanitize_email( $email );

    if ( ! is_email( $email ) ) {
        return new WP_Error( 'invalid_email', __( 'Invalid email address.', 'sajjad' ) );
    }

    if ( username_exists( $username ) || email_exists( $email ) ) {
        return new WP_Error( 'user_exists', __( 'A user with that username or email already exists.', 'sajjad' ) );
    }

    if ( ! get_role( $role ) ) {
        $role = get_option( 'default_role', 'subscriber' );
    }

    $user_id = wp_insert_user(
        array(
            'user_login' => $username,
            'user_email' => $email,
            'user_pass'  => wp_generate_password( 24, true, true ),
            'role'       => $role,
        )
    );

    if ( ! is_wp_error( $user_id ) ) {
        // Email the user a link to set their own password.
        wp_new_user_notification( $user_id, null, 'user' );
    }

    return $user_id;
}

Because the user receives a password-setting link, you never have to know or share their password.

Managing Users After You Add Them

Adding a user is only the first step. Good user management keeps your site tidy and secure.

Editing a User

Go to Users > All Users, hover over a user, and click Edit. You can change their role, email, display name, and other profile information. Administrators can also send a password reset link from this screen.

Using Application Passwords

If a user needs to connect an external app or service to your site through the REST API, they can create an Application Password at the bottom of their profile page. These are separate from their login password and can be revoked individually without affecting their normal login.

Removing Users

When someone no longer needs access:

  1. Go to Users > All Users.
  2. Hover over the user and click Delete.
  3. Choose whether to delete their content or attribute all content to another user. Reassigning content is almost always the right choice, so you don't lose published posts.
  4. Click Confirm Deletion.

If you might need the account again, consider changing their role to Subscriber or using a plugin that can disable accounts instead of deleting them.

Best Practices for Adding Users Securely

Every user account is a potential entry point to your site. Follow these practices:

  • Use the principle of least privilege: Give users the lowest role that lets them do their job.
  • Let users set their own passwords: Use the email link rather than sending passwords over chat or email.
  • Require strong passwords: WordPress suggests strong passwords by default, and security plugins can enforce them.
  • Enable two-factor authentication: Especially for Administrators and Editors.
  • Give temporary access for contractors: Plugins like Temporary Login Without Password let you create time-limited access that expires automatically.
  • Audit users regularly: Remove inactive accounts and review who has Administrator access.
  • Log activity: Activity log plugins such as WP Activity Log or Simple History record what users do, which helps with accountability and troubleshooting.
  • Avoid shared accounts: Give every person their own account so you know who did what.

Troubleshooting Common Issues

The new user didn't receive an email: WordPress relies on your server's mail function, which is often unreliable. Install an SMTP plugin such as WP Mail SMTP or FluentSMTP and connect it to a proper email service. You can also send a password reset from the user's profile.

"Sorry, that username already exists!": Usernames must be unique. Choose another one or check whether the person already has an account.

"Sorry, that email address is already used!": Each email can only belong to one account. Check Users > All Users for an existing account.

The Add New User menu is missing: Your account doesn't have the create_users capability. On multisite, the network may restrict site Administrators from adding users.

Registration link doesn't appear: Make sure Anyone can register is ticked under Settings > General. Some themes or security plugins also hide or redirect the default registration page.


FAQ: Adding New Users to WordPress

Go to Users > Add New User, enter a username and email address, choose a role, keep the notification email checked, and click Add New User. The user receives an email to set their password.

Not from the dashboard. WordPress doesn't allow changing usernames through the Users screen. You can create a new account and reassign content, use a plugin designed for renaming usernames, or change it directly in the database with care.

Give the lowest role that lets them do their job. Writers who need review should be Contributors, trusted writers can be Authors, content managers can be Editors, and only a few people should be Administrators.

Go to Settings > General, tick Anyone can register, set the New User Default Role to Subscriber, and save. Adding a CAPTCHA to the registration form helps prevent spam accounts.

Yes. With WP-CLI you can import users from a CSV file using the wp user import-csv command. Some plugins also offer CSV import through the dashboard.

WordPress's default mail function is often blocked or filtered by hosts. Using an SMTP plugin like WP Mail SMTP or FluentSMTP with a proper email service usually fixes delivery problems.

WordPress asks whether to delete their content or attribute it to another user. Choosing to reassign their content keeps all their posts published under a different account.


Conclusion

Adding new users to a WordPress site is quick and flexible. Most of the time, Users > Add New User is all you need, but you can also open registration to the public, add users across a multisite network, create accounts in bulk with WP-CLI, or build user creation into your own custom workflows with wp_insert_user().

Whichever method you use, the key is choosing the right role and keeping security in mind. Let users set their own passwords, grant only the access each person needs, enable two-factor authentication for powerful accounts, and review your user list regularly. That way, your site stays secure as your team and community grow.

Tags :
Share :

Related Posts

What are the best WordPress security plugins?

What are the best WordPress security plugins?

The best WordPress security plugins for most sites are Wordfence, Sucuri Security, Solid Security, MalCare, All-In-One Security (AIOS), Patchstack, a

Dive Deeper
What is the difference between posts and pages in WordPress?

What is the difference between posts and pages in WordPress?

The main difference between posts and pages in WordPress is that posts are timely, dated entries that appear in your blog feed, archives, and RSS fee

Dive Deeper
How much does it cost to build a WordPress website?

How much does it cost to build a WordPress website?

Building a WordPress website can cost anywhere from roughly the price of a domain and a year of budget hosting, if you do it yourself with free tools

Dive Deeper