Echo ID автора в автор.php


11

Це, мабуть, надто просте запитання.

Але як я повторюю ідентифікатор користувача на avtor.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 внутрішніх помилок сервера
Дін Елліотт

Ви впевнені, що це з-за наведеного вище коду .. Чи можу я подивитися на ваш автор.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.