Instead of wp_create_user
, use wp_insert_user
. So you will be able to set extra variables like nickname
, display_name
separately than the default value.
For your case, you can code like this:
$args = array (
'user_login' => $user_name,
'user_pass' => $random_password, //send as plain text password string
'user_email' => $user_email,
'nickname' => $user_nickName,
'display_name' => $user_nickName
);
wp_insert_user( $args); //on success, it will return user id
Here is the codex refernece for wp_insert_user