Функция позволяет получить значение какого-либо мета-поля пользователя.
Мета-поля пользователей – это какие-либо дополнительные их параметры, которые хранятся в таблице wp_usermeta
(префикс может быть другой). Например, если мы говорим о стандартных полях, то это может быть например имя first_name
или фамилия last_name
. Либо абсолютно любые другие поля, которые мы либо добавили сами, либо при помощи плагина.
До версии WordPress 3.0 мы использовали функцию delete_usermeta()
для этой цели.
Также важно знать, что в базе данных может быть несколько мета-полей с одним и тем же ключом и это может повлиять на то, что будет возвращать функция. Понятное дело, что для first_name
и last_name
это не применяется (хотя может).
Итак функция возвращает:
Что возвращает | При каких условиях |
---|---|
false | В случае, если в функции указано неверное значение $user_id , либо пользователя с указанным ID не существует. |
строка , массив значение мета-поля | В случае, если значение параметра $single равно true . И несмотря на то, что все значения полей хранятся в базе данных в виде строк, мы всё равно можем получить массив – это потому что в базе они хранятся в сериализованном виде и функция при получении их автоматически структурирует функцией maybe_unserialize(). |
массив массив всех значений мета-поля | В случае, если значение параметра $single равно true . Даже, если для заданного ключа существует только одно значение в базе данных, функция всё равно вернёт результат в виде массива (с одним элеметом очевидно). |
'' пустая строка | В случае, если значение параметра $single равно true и мета-поля с указанным ключом не существует. |
array() пустой массив | В случае, если значение параметра $single равно false и мета-поля с указанным ключом не существует. |
get_user_meta( $user_id, $key = '', $single = false )
meta_key
в таблице wp_usermeta
, meta_value которого нужно получить. Если не указан, то функция вернет все существующие параметры данного пользователя.true
— то функция вернет первое добавленное значение с ключом $key
, если false
— то массив всех значений $key
, если же $key
не указан, то данный параметр не учитывается.Простой пример — давайте выведем имя пользователя с ID = 5:
echo get_user_meta( 5, 'first_name', true );
А теперь давайте попробуем сначала вытащить все параметры и только потом вывести имя пользователя из полученного результата:
$all_user_params = get_user_meta( 5 ); /* Результат: Array ( [first_name] => Array ( [0] => Миша ) [last_name] => Array ( [0] => Рудрастых ) [nickname] => Array ( [0] => admin ) [description] => и так далее... ) */ echo $all_user_params['first_name'][0]; // Misha
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.