Вывод ID автора в author.php

1 дек. 2011 г., 12:25:43
Просмотры: 23.9K
Голосов: 14

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

Но как мне вывести ID пользователя на странице author.php?

Я пробовал

the_author_meta('ID')

Но это не сработало. Я хочу вывести его в конце URL, например:

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

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

Есть идеи?

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

Не постоянные ссылки (permalinks), а для модифицированной версии плагина UserPhoto.

Я хочу жестко прописать конкретную ссылку на изображение в author.php, и так как изображения каждого пользователя дополняются их ID автора, мне нужно включить это в ссылку.

Dean Elliott Dean Elliott
1 дек. 2011 г. 12:54:36
Все ответы на вопрос 3
7
31

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

$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 в легко пропускаемых комментариях ниже

1 дек. 2011 г. 12:54:52
Комментарии

Это вызывает у меня ошибку 500 Internal Server Error

Dean Elliott Dean Elliott
1 дек. 2011 г. 13:01:41

Вы уверены, что это из-за приведённого кода.. могу я взглянуть на ваш author.php?

Joshua Abenazer Joshua Abenazer
1 дек. 2011 г. 13:05:26

$author = get_user_by( 'slug', get_query_var( 'author_name' ) ); не вызвал проблем, ошибку спровоцировал echo author->ID; по какой-то причине

Dean Elliott Dean Elliott
1 дек. 2011 г. 13:07:04

Упс, тут опечатка... должно быть echo $author->ID... обратите внимание на '$'. Ответ обновлён.

Joshua Abenazer Joshua Abenazer
1 дек. 2011 г. 13:08:28

Вы оба пропустили знак доллара. echo $author->ID;

Johannes Pille Johannes Pille
1 дек. 2011 г. 13:09:24

Идеально!! Я должен был заметить отсутствие $, моя вина. Большое спасибо, мужик!

Dean Elliott Dean Elliott
1 дек. 2011 г. 13:11:19

Это будет работать только если установлен author_name. Без красивых постоянных ссылок вам также нужно проверять переменную запроса author: if ( $author_id = get_query_var( 'author' ) ) { $author = get_user_by( 'id', $author_id ); }

Andy Adams Andy Adams
19 дек. 2012 г. 22:45:09
Показать остальные 2 комментариев
1
11

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

if (is_author()){
    $author = get_queried_object();
    $author_id = $author->ID;
}
26 янв. 2017 г. 09:07:01
Комментарии

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

Gavin Gavin
17 нояб. 2017 г. 22:20:15
0

если var_dump(the_author_meta('ID')) возвращает Null, значит у автора нет записей.

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

27 апр. 2017 г. 01:37:12