On this page
update_usermeta( int $user_id, string $meta_key, mixed $meta_value ): bool
This function has been deprecated. Use update_user_meta() instead.
Update metadata of user.
Description
There is no need to serialize values, they will be serialized if it is needed. The metadata key can only be a string with underscores. All else will be removed.
Will remove the metadata, if the meta value is empty.
See also
Parameters
$user_idint Required-
User ID
$meta_keystring Required-
Metadata key.
$meta_valuemixed Required-
Metadata value.
Return
bool True on successful update, false on failure.
Source
File: wp-includes/deprecated.php. View all references
function update_usermeta( $user_id, $meta_key, $meta_value ) {
_deprecated_function( __FUNCTION__, '3.0.0', 'update_user_meta()' );
global $wpdb;
if ( !is_numeric( $user_id ) )
return false;
$meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
/** @todo Might need fix because usermeta data is assumed to be already escaped */
if ( is_string($meta_value) )
$meta_value = stripslashes($meta_value);
$meta_value = maybe_serialize($meta_value);
if (empty($meta_value)) {
return delete_usermeta($user_id, $meta_key);
}
$cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
if ( $cur )
do_action( 'update_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
if ( !$cur )
$wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') );
elseif ( $cur->meta_value != $meta_value )
$wpdb->update($wpdb->usermeta, compact('meta_value'), compact('user_id', 'meta_key') );
else
return false;
clean_user_cache( $user_id );
wp_cache_delete( $user_id, 'user_meta' );
if ( !$cur )
do_action( 'added_usermeta', $wpdb->insert_id, $user_id, $meta_key, $meta_value );
else
do_action( 'updated_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
return true;
}
Related
Uses
| Uses | Description |
|---|---|
| wp_cache_delete() wp-includes/cache.php | Removes the cache contents matching key and group. |
| delete_usermeta() wp-includes/deprecated.php | Remove user meta data. |
| maybe_serialize() wp-includes/functions.php | Serializes data, if needed. |
| clean_user_cache() wp-includes/user.php | Cleans all user caches. |
| wpdb::get_row() wp-includes/class-wpdb.php | Retrieves one row from the database. |
| wpdb::insert() wp-includes/class-wpdb.php | Inserts a row into the table. |
| wpdb::update() wp-includes/class-wpdb.php | Updates a row in the table. |
| _deprecated_function() wp-includes/functions.php | Marks a function as deprecated and inform when it has been used. |
| do_action() wp-includes/plugin.php | Calls the callback functions that have been added to an action hook. |
| wpdb::prepare() wp-includes/class-wpdb.php | Prepares a SQL query for safe execution. |
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Use update_user_meta() |
| 2.0.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/update_usermeta