Эхо ID автора в author.php

11

Это, наверное, очень простой вопрос.

Но как мне отобразить идентификатор пользователя на author.php?

я пробовал

the_author_meta('ID')

Но, похоже, не хотел работать. Я хочу повторить это в конце URL, например;

Http: ///www.domain.com/author/sampleauthor-id

Очевидно, где "id" - это идентификатор конкретного автора

Есть идеи?

Дин Эллиотт
источник
Не постоянные ссылки, это для модифицированной версии плагина UserPhoto. Я хочу жестко закодировать конкретную ссылку на изображение в author.php, и, поскольку к изображениям каждого пользователя добавляется идентификатор автора, мне нужно включить это в ссылку
Дин Эллиотт

Ответы:

29

Попробуйте этот код.

$author = get_user_by( 'slug', get_query_var( 'author_name' ) );
echo $author->ID;

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

if ( $author_id = get_query_var( 'author' ) ) { $author = get_user_by( 'id', $author_id ); }

кредит @AndyAdams в легко пропущенных комментариях ниже

Джошуа Абеназер
источник
Это дает мне 500 внутреннюю ошибку сервера
Дин Эллиотт
Вы уверены, что это из-за кода выше? Могу я взглянуть на ваш author.php?
Джошуа Абеназер
$author = get_user_by( 'slug', get_query_var( 'author_name' ) );не дало никаких проблем, именно echo author->ID;это вызвало ошибку по какой-то причине
Дин Эллиотт
К сожалению, есть опечатка .. его echo $ author-> ID ... обратите внимание на '$'. Обновил ответ.
Джошуа Абеназер
1
Вы оба пропустили знак доллара. echo $author->ID;
Йоханнес Пилле
4

Попробуйте это просто код

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}
While1
источник
Более простой способ сделать это$author_id = get_queried_object_id();
Гэвин
0

Если var_dump(the_author_meta('ID'))это Null, ваш автор не имеет сообщений.

Попробуйте использовать эхо, $authorесли вы называете это внутриauthor.php

Alexufo
источник