在 Wordpress 中获取作者之前的 post

Get previous post by author in Wordpress

我想在 post 的底部显示当前 post 作者写的上一篇 post。

我知道我可以使用函数 get_previous_post() 获取当前 post 类型的前一个 post,但它不能被作者过滤。

我不想要作者最近的 post,而是正在查看的 post 之前的那个。

这可能有用。 $previous_post 将是当前 post 作者的最后一个 post。

<?php
$this_post = get_post();

$args = array(
    'author'        =>  $this_post->post_author,
    'post_type'     =>  $this_post->post_type,
    'orderby'       =>  'post_date',
    'order'         =>  'DESC',
    'date_query' => array(
        'before' => $this_post->post_date
    ),
);

$author_posts = get_posts( $args );
$previous_post = $author_posts[0];

我使用了 WordPress 3.7 中添加的 date_query: http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

这让我们可以获取当前 post 的日期并将其用作我们的截止点。之后就比较容易拿到你需要的了。