Languages: English • 日本語 한국어 • (Add your language)
This function updates a single user in the database. This update can contain multiple pieces of user metadata as an array, however it will not update custom user meta fields. The meta fields that can be updated with this function are the same those allowed by the function wp_insert_user()
To update a single piece of user metadata, use update_user_meta() instead.
To create a new user or make an update without sending a password change email, use wp_insert_user() instead.
Note: If current user's password is being updated, then the cookies will be cleared!
If $userdata does not contain an 'ID' key, then a new user will be created and the new user's ID will be returned. Since version 3.6 this is no longer the case, but this behavior may be restored in the future. See ticket #16731.
<?php wp_update_user( $userdata ) ?>
Below is an example showing how to update a user's website profile field:
<?php $user_id = 1; $website = 'http://wordpress.org'; $user_id = wp_update_user( array( 'ID' => $user_id, 'user_url' => $website ) ); if ( is_wp_error( $user_id ) ) { // There was an error, probably that user doesn't exist. } else { // Success! }
== Notes ==
Field Name | Description | Associated Filter |
---|---|---|
ID | An integer that will be used for updating an existing user. | (none) |
user_pass | A string that contains the plain text password for the user. | pre_user_pass |
user_login | A string that contains the user's username for logging in. Please note that the function cannot alter this field, since WordPress does not allow usernames to be changed. | pre_user_login |
user_nicename | A string that contains a URL-friendly name for the user. The default is the user's username. | pre_user_nicename |
user_url | A string containing the user's URL for the user's web site. | pre_user_url |
user_email | A string containing the user's email address. | pre_user_email |
display_name | A string that will be shown on the site. Defaults to user's username. It is likely that you will want to change this, for both appearance and security through obscurity (that is if you dont use and delete the default admin user). | pre_user_display_name |
nickname | The user's nickname, defaults to the user's username. | pre_user_nickname |
first_name | The user's first name. | pre_user_first_name |
last_name | The user's last name. | pre_user_last_name |
description | A string containing content about the user. | pre_user_description |
rich_editing | A string for whether to enable the rich editor or not. False if not empty. | (none) |
user_registered | The date the user registered. Format is Y-m-d H:i:s. | (none) |
role | A string used to set the user's role. | (none) |
jabber | User's Jabber account. | (none) |
aim | User's AOL IM account. | (none) |
yim | User's Yahoo IM account. | (none) |
show_admin_bar_front | Show the WP admin bar on the front-end. | (none) |
Remember, user_pass should be the plain text password as it will be automatically hashed by WordPress.
Please keep in mind that if the user_pass is updated an e-mail notification will be sent to that user.
Please keep in mind that in order to set show_admin_bar_front to false you need to pass string value 'false' and not boolean false.
wp_update_user() is located in wp-includes/user.php
.
Current User Functions: get_current_user_id(), get_currentuserinfo(), wp_get_current_user(), wp_set_current_user(), current_user_can(), current_user_can_for_blog() , get_user_meta()