X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Как вывести список авторов WordPress

Приклад
  • 2024-12-03
  • 7541 переглядів

  • Дизайн та розробка сайту

Доброго времени суток. 🙂

В прошлой статье я рассказал, как сделать вывод автора записи, в этой хочу сделать похожий вывод, но не совсем. Иногда нужно вывести всех авторов сайта, не просто пользователей, а именно тех, кто опубликовал свои статьи на Вашем сайте.

Вывод авторов блога

В этой статье я покажу как вывести целый блок с информацией об авторах. Вы сможете увидеть какие функции используются и по надобности отключить лишнее.

Авторы блога

Недавно я делал сайт, где заказчик попросил на главной странице вывести список авторов сайта. В его планах было сделать информативный сайт для фирмы, где сотрудники могли бы публиковать свои статьи. Для осуществления такого вывода, была использована функция, которая объединила в себе несколько функций WordPress. Ниже расположен готовый код функции, который нужно добавить в файл пользовательских функций functions.php.

/*Список авторов*/
function contributors() {
$args = array(
'role__in'     => array( administrator, author, editor ),
//'exclude'    => array( 1, 2, 3, ),
//'include'      => array( 4, 5, 6 ),
'orderby'      => 'display_name',
'order'        => 'ASC',
);   
$authors = get_users( $args );
foreach($authors as $author) {?>
<li><div class="authorava"><?php echo get_avatar($author->ID);?><br><div class="authorname"><?php the_author_meta('display_name', $author->ID);?></div></div>
<div class="textauthor">
<span>О себе:<br></span> <?php the_author_meta('description', $author->ID);?><br>
<a href="<?php get_bloginfo('url')?>/?author=<?php echo $author->ID;?>">Все статьи автора</a>
</div>
</li>
<?php }
}
  1. Сначала создаем функцию contributors, которая будет выводить записи определенных ролей.
  2. Массив имеет некоторые настройки.
    1. role__in - указываем роли, чьи статьи выведем. Естественно, статьи на сайте публикуют - администраторы, редакторы и автора - administrator, author, editor
    2. exclude - айди тех, чьи статьи не выводить. Данная строка закоментирована, можете ее удалить.
    3. include - айди тех, чьи статьи только и выводить. Статьи других выведены не будут. Данная строка закоментирована, можете ее удалить.
    4. orderby - сортировка по имени авторов. Можно указать: include, nicename, email, url, registered, display_name, post_count, meta_value, meta_value_num, $meta_key (ключ массива запроса из meta_query.
    5. order - направление сортировки. ASC — от меньшего к большему (a-я). DESC — от большего к меньшему (я-а).
  3. Автора будут выводится в UL, для этого внутри добавляем тег li.
  4. Потом внутри добавляем блоки с выводом определенных элементов. Первый блок с классом - authorava. В нем выводим аватар с функцией echo get_avatar($author->ID);. Потом в нем есть блок с классом authorname, внутри которого функция с выводом имени - the_author_meta('display_name', $author->ID);.
  5. После идет блок textauthor, в котором выводится информация об авторе с помощью функции - the_author_meta('description', $author->ID);. Чтобы вывелась информация, автор должен заполнить информацию О СЕБЕ в настройках профиля.
  6. В конце ссылка на список всех постов автора.

Для того чтобы вывести список, нужно теперь подключить функцию в теме WordPress. В моем случаи это был index.php, у Вас может быть совсем другой файл. В общем, в нужном месте добавляем такую строку:

<ul id="authorlist"><?php contributors(); ?></ul>

Теперь добавим стилей в файл style.css, чтобы красиво все оформить.

ul#authorlist{font-size:12px;color:#555;list-style:none;margin:0;}
.textauthor{margin-left:10px;overflow:hidden;}
.textauthor span{font-weight:bold;}
.authorava{float:left;width:110px;text-align:center;}
.authorname{width:100px;font-weight:bold;color:#458ea1;}
.authname{margin: 20px 0 0 10px;float: left;}

Стили можете менять под себя, да и саму функцию тоже можно обрезать, удаляя лишние функции.

Не совсем легенький урок, но все же выполнить можно и добиться желанного результата. К тому же все делается без плагинов, что есть несомненным плюсом.

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 11, в среднем: 5 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078