Страница автора в wordpress. Как получить информацию об авторе?

О шаблонах, условных тегах. О получении ID, аватарки, отображаемого имени, биографии автора.

Когда мы заходим на страницу какого-нибудь автора, WordPress ищет подходящий шаблон текущей темы.

Сначала он проверит существует ли файл author-$nickname.php, если нет — то проверит существования файла author-$id.php. (С помощью таких файлов мы можем создать отдельный шаблон для страницы какого-нибудь одного автора)

Если этих файлов нет, то он проверит существует ли файл author.php. Такой шаблон будет применяться на странице всех авторов (для которых нет специальных шаблонов, о которых написано выше). И именно такой файл нам, вероятно, и понадобится для страницы автора.

А если нет и файла author.php, то тогда wordpress попытается найти файл archive.php .Такой файл в теме, скорее всего есть уже есть, а если и его нет, то будет применён файл index.php. Подробнее об этой иерархии шаблонов можно почитать тут или тут.

Таким образом, если мы хотим как-то изменить страницу автора, то нам нужно создать файл шаблона author.php (например, для начала, скопировав в него код файла archive.php). Или можно использовать в файле, например, archive.php условный тег is_author(), который проверяет, что Вы находитесь на странице автора.

if(is_author()){ /*что-то делаем на страницах автора.*/}
/*Эта функция ещё принимает параметры: ID автора, имя автора (у меня это не сработало) и никнэйм автора, или несколько параметров в массиве*/
if(is_author('19')){ /*что-то делаем на страницах автора c ID==19.*/}
if(is_author('ivan')){ /*что-то делаем на страницах автора c ником=='ivan' (точное совпадение).*/}

Как на странице автора найти информацию о нём?

Итак, пусть в блоке кода, который сработает на странице автора (в шаблоне author.php или внутри условного тега is_author()) нам нужно вывести информацию о нём. Например, мы хотим вверху страницы вывести имя автора, его биографию, фотографию, ссылку на все материалы автора с указанием их количества.

Для этого нам подойдёт функция get_queried_object(), которая возвращает информацию об объекте запроса. Например, на странице категории вернёт объект этой категории. А на странице автора — объект класса WP_User с информацией об авторе.

$author=get_queried_object();
echo $author->ID; //покажет ID автора
echo $author->data->user_nicename; //никнэйм
echo $author->data->display_name; //отображаемое имя
//К сожалению, тут нет биографии (description). Показать её можно так:
the_author_meta( 'description',$author->ID);
// И нет аватарки
echo get_avatar( $author->ID, 600 /*size*/, ''/*аватарка по умолчанию*/, $author->data->display_name /*alt*/);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

пять × четыре =