按WordPress中的最后评论日期订购帖子

时间:2014-03-27 12:18:57

标签: php wordpress

我使用get_comments()get_post()的组合来显示按评论日期排序的帖子列表。

参考:

http://codex.wordpress.org/Function_Reference/get_comments https://codex.wordpress.org/Function_Reference/get_post

我的代码:

$args = array(
    'status' => 'approve',
    'order' => 'DESC'
);

$comments = get_comments( $args );

foreach ( $comments as $comment ) {

     $post = get_post( $comment->comment_post_ID );
     echo $post->post_title;

}

这种方法的问题是,如果帖子有多个评论,帖子列表将包含重复的帖子标题。

如何删除重复项?

更新 这种初始方法会做很多不必要的工作。例如,在包含大量帖子和评论的网站上,查询会收回大量不必要的评论。

更新的问题: 如何按评论日期订购帖子列表?

1 个答案:

答案 0 :(得分:0)

这是一种有趣的方法......但是,我想你可以用帖子ID填充一个数组,然后再检查它们。

$args = ....
$ids = array();
.....
if(!in_array($post->ID, $ids):
    $ids[] = $post->ID;
    echo $post->title;
endif;