update_usermeta()
Устарела с версии 3.0.0. Больше не поддерживается и может быть удалена. Используйте update_user_meta().
Update metadata of user.
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.
Хуки из функции
Возвращает
bool. True on successful update, false on failure.
Использование
update_usermeta( $user_id, $meta_key, $meta_value );
- $user_id(int) (обязательный)
- User ID.
- $meta_key(строка) (обязательный)
- Metadata key.
- $meta_value(разное) (обязательный)
- Metadata value.
Заметки
| Смотрите: update_user_meta() |
Global. wpdb. $wpdb WordPress database abstraction object. |
Список изменений
| С версии 2.0.0 | Введена. |
| Устарела с 3.0.0 | Use update_user_meta() |
Код update_usermeta() update usermeta WP 7.1
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;
}