get_the_author_meta() — возвращает информацию о пользователе

Возвращает данные пользователя с указанным ID, если запрошенной информации не сущестует — возвращает пустую строку.

Функция также позволяет получить значение meta_value для любого значения meta_key из таблицы базы данных wp_usermeta.

get_the_author_meta( $field = '', $user_id = false )
$field
(строка)

  • user_login (логин)
  • user_pass (хэш пароля)
  • user_nicename
  • user_email (email)
  • user_url (сайт, указанный в профиле)
  • user_registered (дата регистрации)
  • user_activation_key (ключ активации)
  • user_status
  • display_name (отображаемое имя пользователя)
  • nickname (ник)
  • first_name, user_firstname (имя)
  • last_name, user_lastname (фамилия)
  • description (значение поля «Биография» в профиле пользователя)
  • jabber (Jabber / Google Talk)
  • aim (AIM)
  • yim (Yahoo IM)
  • user_level (уровень пользователя)
  • rich_editing (значение чекбокса «Отключить визуальный редактор» в профиле пользователя)
  • comment_shortcuts (значение чекбокса «Использовать горячие клавиши для проверки комментариев» в профиле пользователя)
  • admin_color (цветовая схема в админке)
  • plugins_per_page (количество плагинов, одновременно отображаемых на странице плагинов)
  • plugins_last_view
  • ID (ID пользователя)
  • либо любое из значений meta_key в таблице wp_usermeta
$user_id
(целое число) ID пользователя, по умолчанию — автор текущего поста в цикле.

Примеры

Как узнать email пользователя, зная его ID

$userid = 5;
$user_email = get_the_author_meta('user_email', $userid);

Теперь выведем ссылку типа mailto для этого же самого автора:

$user_email = get_the_author_meta('user_email', 5);
echo '<a href="mailto:' . $user_email . '">' . $user_email . '</a>';

Как узнать логин пользователя, зная ID

$userid = 5;
$user_login = get_the_author_meta('user_login', $userid);

Как узнать дату регистрации пользователя

$userid = 5;
$user_registered = get_the_author_meta('user_registered', $userid); // 2013-10-27 09:22:49

Фильтр get_the_author_{значение}

Возвращаемый функцией get_the_author_meta() результат проходит через фильтр:

return apply_filters( 'get_the_author_' . $field, $value, $user_id );

По сути это несколько фильтров, применение которых зависит от того, какая информация запрашивается, например если нам нужен логин, то фильтр будет get_the_author_user_login, если email, то get_the_author_user_email и так далее.

$value
(строка) возвращаемое значение,
$user_id
(целое число) ID пользователя;

В качестве примера давайте изменим дату регистрации у администратора сайта ( ID = 1 ), для этого вставляем следующий код в functions.php:

function true_change_user_registered( $value, $user_id ) {
	if( $user_id == 1 ){
		return '2000-01-01 00:01:01';
	}
}
 
add_filter( 'get_the_author_user_registered', 'true_change_user_registered', 10, 2);

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...