Как в WordPress вывести похожие записи того же автора?

Часто на блогах публикуют свои статьи несколько авторов. Зайдя на такой сайт и прочитав интересную статью, посетитель не прочь бы ознакомится с другими материалами того же автора. Обычно в конце статьи размещают блок похожих записей, в которых отображаются материалы, похожие по названию. Наша задача — вывести опубликованные материалы на сайте того же автора.

Как вывести похожие записи того же автора?

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

Способ 1. Плагин Similar Posts

Плагин Similar Posts, среди других своих возможностей, также способен показать посетителю материалы просматриваемого автора. Для этого, во-первых, необходимо его установить и активировать, после чего в админ-панели перейти в раздел Настройки -> Similar Posts.

Страница настроек плагина Similar Posts

Видим, что страница настроек плагина имеет несколько вкладок, отвечающих за те или иные группы опций. На вкладке General необходимо ответить пункт Match the current post’s author?, что инициализирует сам вывод записей того же автора.

Настройка плагина Similar Posts

На следующем этапе нужно перейти на вкладку Placement, где в блоке Output after post выбрать значение Yes.

Настройка плагина Similar Posts

Для сохранения заданных Вами настроек следует нажать кнопку Save Settings.

В итоге на странице записи, после всего контента, станет доступен блок с материалами, относящимися к тому же автору.

Страница записи

Следует отметить, что плагин также позволяет показывать эту информацию в сайдбаре (боковой панели) Вашего сайта. Для этого необходимо будет перейти в раздел Внешний вид -> Виджеты и перетащить виджет Similar Posts в нужное место сайдбара.

Страница Виджеты

Способ 2. Добавление кода в functions.php

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

function wpschool_related_author_posts($content) {
    if ( is_single() ) {
        global $authordata, $post;
        $content .= '<h4>Другие записи этого автора:</h4> ';
        $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 5 ) );
        $content .= '<ul>';
        foreach ( $authors_posts as $authors_post ) {
            $content .= '<li><a href="' . get_permalink( $authors_post->ID ) . '">' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '</a></li>';
        }
        $content .= '</ul>';
        return $content;
    }
    else {
        return $content;
    }
}
 
add_filter( 'the_content','wpschool_related_author_posts' );

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

В результате работы этого PHP-кода в самом конце контентной части записи отобразится блок материалов того же автора.

Страница записи

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров