Tag: Create User in WordPress

  • How to create WordPress User Programmatically

    You can create a new user programmatically in WordPress using the wp_insert_user() function. Here is an example of how to do this:

    <?php
      $userdata = array(
        'user_login'  =>  'exampleuser', 
        'user_url'    =>  'http://example.com',
        'user_pass'   =>  null, // When creating a user, `user_pass` is expected.
        'user_email'  =>  'user@example.com',
        'display_name'=>  'Example User',
        'nickname'    =>  'exampleuser',
        'first_name'  =>  'Example',
        'last_name'   =>  'User',
        'role'        =>  'subscriber'
      );
    
      $user_id = wp_insert_user( $userdata ) ;
    
      //On success
      if ( ! is_wp_error( $user_id ) ) {
        echo "User created : ". $user_id;
      }
    ?>

    Please make sure to replace the dummy data with your actual data. Here is what each key in the $userdata array does:

    • user_login (string) – The user’s login username.
    • user_pass (string) – The user’s password.
    • user_nicename (string) – A URL-friendly version of the user’s username.
    • user_email (string) – The user’s email.
    • user_url (string) – The user’s URL.
    • display_name (string) – The user’s display name.
    • nickname (string) – The user’s nickname.
    • first_name (string) – The user’s first name.
    • last_name (string) – The user’s last name.
    • description (string) – The user’s bio.
    • role (string) – The user’s role.

    In the role section, you can specify the user role such as ‘administrator’, ‘editor’, ‘author’, ‘contributor’ or ‘subscriber’.

    Remember, you will need appropriate permissions to create a user in WordPress.

    Finally, wp_insert_user() returns the new user’s ID if the user is successfully created, or a WP_Error object if the user could not be created. Therefore, it’s important to check whether the return value is a WP_Error object before proceeding.