Функция выводит информацию об авторе текущего поста или о пользователе с указанным ID, либо значение любого его мета-поля.
Если вам нужно не вывести, а получить эту информацию и записать в переменную, то обратите внимание на get_the_author_meta(). А значения мета-полей вы также можете получить функцией get_user_meta().
the_author_meta( $field = '', $user_id = false )
user_login (логин)user_pass (хэш пароля)user_nicenameuser_email (email)user_url (сайт, указанный в профиле)user_registered (дата регистрации)user_activation_key (ключ активации)user_statusdisplay_name (отображаемое имя пользователя)nickname (ник)first_name, user_firstname (имя)last_name, user_lastname (фамилия)description (значение поля «Биография» в профиле пользователя)rich_editing (значение чекбокса «Отключить визуальный редактор» в профиле пользователя)comment_shortcuts (значение чекбокса «Использовать горячие клавиши для проверки комментариев» в профиле пользователя)admin_color (цветовая схема в админке)plugins_per_page (количество плагинов, одновременно отображаемых на странице плагинов)plugins_last_viewID (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;
Этот фильтр-хук позволяет изменить выводимое значение для определённого поля $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; }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.