Как получить username автора?

8 июл. 2015 г., 20:24:42
Просмотры: 14.1K
Голосов: 3

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

Спасибо

1
Комментарии

Посмотрите get_the_author_meta()

Gabriel Gabriel
8 июл. 2015 г. 22:28:18
Все ответы на вопрос 5
0

В цикле (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);
9 июл. 2015 г. 06:48:51
0

Относительно ответа @s_ha_dum выше, он прав, но теперь используется не get_the_author_meta('displayname');, а: get_the_author_meta('display_name');.

Смотрите: https://developer.wordpress.org/reference/functions/get_the_author_meta/

7 февр. 2019 г. 02:59:03
1

Прямой ответ на ваш вопрос:

get_the_author_meta('user_login');
24 сент. 2020 г. 05:19:26
Комментарии

Это ЕДИНСТВЕННЫЙ правильный ответ здесь. "user_login" — это поле "имя пользователя". Все остальные ответы полностью упустили суть вопроса.

Shane McCurdy Shane McCurdy
20 дек. 2022 г. 07:45:26
0

Я нашел кое-что, что может вам помочь.

В WordPress есть несколько способов получить имя автора:

  1. <?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 и многие другие

  2. <?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

и многие другие

Дайте мне знать, если у вас возникнут дополнительные вопросы по этой теме.

Спасибо!

9 июл. 2015 г. 10:01:08
0

В цикле

$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;
29 сент. 2016 г. 01:54:24