Эхо 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;
}

Более простой способ сделать это$author_id = get_queried_object_id();
Гэвин

0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.