Как получить username автора?
Как получить username автора?
Я использую этот код:
get_the_author()
Я хотел бы изменить это на username автора, вместо имени автора.
Спасибо

В цикле (Loop) это будет выглядеть так:
$authorname = get_the_author_meta('user_nicename');
Или:
$authorname = get_the_author_meta('displayname');
Или:
$authorname = get_the_author_meta('nickname');
Или любое другое поле, которое принимает функция get_the_author_meta()
.
$authorname = get_the_author_meta('user_nicename',123);
Если вам нужно просто вывести имя, используйте функцию the_author_meta()
:
the_author_meta('user_nicename',123);

Относительно ответа @s_ha_dum выше, он прав, но теперь используется не get_the_author_meta('displayname');
, а: get_the_author_meta('display_name');
.
Смотрите: https://developer.wordpress.org/reference/functions/get_the_author_meta/

Я нашел кое-что, что может вам помочь.
В WordPress есть несколько способов получить имя автора:
-
<?php get_the_author_meta( $field, $userID ); ?> С помощью этой функции вы можете получить имя текущего автора: <?php $auth_name = get_the_author_meta( 'display_name' ); ?>
ИЛИ если передать
$userID
вторым параметром, то можно получить данные конкретного пользователя:<?php $auth_name = get_the_author_meta( 'display_name', $userID ); ?>
Доступные поля, которые можно получить через эту функцию для информации об авторе:
display_name
,nickname
,first_name
,last_name
и многие другие <?php get_userdata($userID ); ?>
Это делается путем создания переменной $currauth
(Текущий автор). Обычный способ сделать это - добавить следующий код перед циклом в вашем шаблоне:
<?php
$currauth = (isset($_GET['author_name'])) ? get_user_by('slug', $_GET['author_name']) : get_userdata($_GET['author']);
?>
Или этот пример, который работает только в WordPress версии 2.8 и выше:
<?php
$currauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
?>
Теперь, когда у вас есть переменная $currauth, вы можете использовать ее для отображения различной информации об авторе, чья страница отображается. Доступные варианты:
//Для отображаемого имени
$currauth->display_name;
//Для имени
$currauth->first_name
//Для фамилии
$currauth->last_name
//Для псевдонима
$currauth->nickname
Дайте мне знать, если у вас возникнут дополнительные вопросы по этой теме.
Спасибо!

В цикле
$username=get_the_author_meta('user_nicename');
Вне цикла (Предположим $user_id=1)
$username=get_the_author_meta( 'user_nicename', $user_id );
Вы можете использовать функцию get_userdata.
$username=get_userdata($user_id)->user_nicename;
Также можно использовать функцию get_user_by
$username=get_user_by( 'id', $user_id )->user_nicename;
