Warning: This function has been deprecated. Use update_user_meta() instead.

update_usermeta( int $user_id, string $meta_key, mixed $meta_value )

Update metadata of user.


Description 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 See also


Top ↑

Parameters Parameters

$user_id

(int) (Required) User ID

$meta_key

(string) (Required) Metadata key.

$meta_value

(mixed) (Required) Metadata value.


Top ↑

Return Return

(bool) True on successful update, false on failure.


Top ↑

Source Source

File: wp-includes/deprecated.php

2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
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;
}

Top ↑

Changelog Changelog

Changelog
Version Description
3.0.0 Use update_user_meta()
2.0.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.