在 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 的日期并将其用作我们的截止点。之后就比较容易拿到你需要的了。
我想在 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 的日期并将其用作我们的截止点。之后就比较容易拿到你需要的了。