get_user_meta() — получает мета-параметры пользователя

Функция позволяет получить значение какого-либо мета-поля пользователя.

Мета-поля пользователей – это какие-либо дополнительные их параметры, которые хранятся в таблице 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 )

Параметры

$user_id
(целое число) ID пользователя, параметры которого нужно получить.
$key
(строка) ключ — значение в столбце meta_key в таблице wp_usermeta, meta_value которого нужно получить. Если не указан, то функция вернет все существующие параметры данного пользователя.
$single
(логическое) если 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

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.