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

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

Делается такой список достаточно просто. В файл functions php вставьте следующий код:

<

 extra="3">
function get_related_author_posts() {
    global $authordata, $post;
    $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 5 ) );
    $output = '<ul>';
    foreach ( $authors_posts as $authors_post ) {
        $output .= '<li><a>ID ) . '">' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '</a></li>';
    }
    $output .= '</ul>';
    return $output;
}

Эта функция отбирает пять последних постов автора, опубликовавшего просматриваемую запись. Можно изменить количество постов, изменив 'posts_per_page' => 5 в выделенной строке кода на другую величину.

Чтобы посетители увидели список постов этого же автора, вставьте в шаблон вывода одиночной записи (обычно это файл single.php) такой код:

 

Пользуйтесь с умом!

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. zetrider

    У меня на блоге это реализовано таким способом:

    Другие записи из блога автора <?php the_author_meta('nickname'); ?>:
    <ul>
    <?php 
    
    $query_news = new WP_Query('post__not_in[]='.$post->ID.'&author='.get_the_author_id().'&post_type=post&showposts=5'); while($query_news->have_posts()){ $query_news->the_post(); ?>
    <li>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></li>
    <?php } wp_reset_postdata(); ?>
    <li>">Посмотреть остальные...</li>
    </ul>
    Ответить