Domenico Di Sarno
Domenico Di Sarno

Reputation: 35

WordPress insert new user in wp_users

I need to create a new user in wp_users table but neither wp_create_user nor wp_insert_user worked. I'm trying in this way but no user is inserted.

$newUser = $wpdb->insert(
        'wp_users',
        array(
            'user_login' => $userRow->email,
            'user_pass' => $userRow->password,
            'user_nicename' => $userRow->firstname,
            'user_email' => $userRow->email,
            'user_url' => '',
            'user_registered' => $userRow->registration,
            'user_status' => 0,
            'display_name' => $userRow->firstname
        )
    );
    if(!$newUser) {
        echo '<script>alert("User has not been created.")</script>'; 
        return;
    }

Upvotes: 0

Views: 2091

Answers (2)

Sunil Modi
Sunil Modi

Reputation: 31

try this

$WP_array = array (
    'user_login'    =>  'username',
    'user_email'    =>  'emailID',
    'user_pass'     =>  'Password',

) ;

$id = wp_insert_user( $WP_array ) ;
// if you want to add role to user
wp_update_user( array ('ID' => $id, 'role' => 'editor') ) ;

Upvotes: 0

Ravi Kumar
Ravi Kumar

Reputation: 443

Use something like this to create user in WP

Make sure your variable has values

$username = $userRow->email;
$email    = $userRow->email;
$password = $userRow->password;

$user = wp_insert_user(array(
            'user_login'  =>  $username,
            'user_email'  =>  $email,
            'user_pass'   =>  $password,
        ));

    if( !is_wp_error( $user ) ){

    } else {
        // success message
    }

Upvotes: 2

Related Questions