the_author_meta()

Функция выводит информацию об авторе текущего поста или о пользователе с указанным ID, либо значение любого его мета-поля.

Если вам нужно не вывести, а получить эту информацию и записать в переменную, то обратите внимание на get_the_author_meta(). А значения мета-полей вы также можете получить функцией get_user_meta().

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 (значение поля «Биография» в профиле пользователя)
  • rich_editing (значение чекбокса «Отключить визуальный редактор» в профиле пользователя)
  • comment_shortcuts (значение чекбокса «Использовать горячие клавиши для проверки комментариев» в профиле пользователя)
  • admin_color (цветовая схема в админке)
  • plugins_per_page (количество плагинов, одновременно отображаемых на странице плагинов)
  • plugins_last_view
  • ID (ID пользователя)
  • либо любое из значений meta_key в таблице wp_usermeta
$user_id
(целое число) ID пользователя, по умолчанию — автор текущего поста в цикле.

Примеры

Наверное самый главный пример будет об отличии функции от get_the_author_meta(), потому что частенько замечал на чужих проектах, что значение the_author_meta() пытаются впихнуть в переменную. Камон, даже в официальной документации WordPress кто-то запостил такой пример.

Итак, получаем и выводим имя first_name пользователя с ID=25:

// три строчки кода в этом примере делают абсолютно одно и то же
echo get_the_author_meta( 'first_name', 25 );
 
$first_name = get_the_author_meta( 'first_name', 25 ); echo $first_name;
 
the_author_meta( 'first_name', 25 );

Ну или например используем функцию внутри цикла:

while( have_posts() ) : the_post();
	the_title( '<h2>', '</h2>' );
	echo 'Автор: '; the_author_meta( 'first_name' );
endwhile;

Хуки

the_author_{$field}

Этот фильтр-хук позволяет изменить выводимое значение для определённого поля $field.

Предположим, что есть какой-то определённый email, который никогда не нужно отображать на сайте. Мы можем скрыть его этим хуком глобально на сайте.

add_filter( 'the_author_user_email', 'true_hide_specific_email', 25, 2 );
 
function true_hide_specific_email( $author_meta, $user_id ) {
 
	// ничего не делаем для администраторов
	if( current_user_can( 'administrator' ) ) {
		return $author_meta;
	}
 
	if( 'no-reply@misha.agency' == $author_meta ) {
		$author_meta = 'Email скрыт.';
	}
 
	return $author_meta;
 
}

Миша

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

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

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