wp_update_user

Definition:
function wp_update_user($userdata) {}

Update an user in the database.
It is possible to update a user’s password by specifying the ‘user_pass’ value in the $userdata parameter array.

Parameters

  • array $userdata: An array of user data.

Return values

returns:The updated user’s ID.

Source code

function wp_update_user($userdata) {

	$ID = (int) $userdata['ID'];



	// First, get all of the original fields

	$user_obj = get_userdata( $ID );



	$user = get_object_vars( $user_obj->data );



	// Add additional custom fields

	foreach ( _get_additional_user_keys( $user_obj ) as $key ) {

		$user[ $key ] = get_user_meta( $ID, $key, true );

	}



	// Escape data pulled from DB.

	$user = add_magic_quotes( $user );



	// If password is changing, hash it now.

	if ( ! empty($userdata['user_pass']) ) {

		$plaintext_pass = $userdata['user_pass'];

		$userdata['user_pass'] = wp_hash_password($userdata['user_pass']);

	}



	wp_cache_delete($user[ 'user_email' ], 'useremail');



	// Merge old and new fields with new fields overwriting old ones.

	$userdata = array_merge($user, $userdata);

	$user_id = wp_insert_user($userdata);



	// Update the cookies if the password changed.

	$current_user = wp_get_current_user();

	if ( $current_user->ID == $ID ) {

		if ( isset($plaintext_pass) ) {

			wp_clear_auth_cookie();

			wp_set_auth_cookie($ID);

		}

	}



	return $user_id;

}

11051

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: