我使用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;
}
这种方法的问题是,如果帖子有多个评论,帖子列表将包含重复的帖子标题。
如何删除重复项?
更新 这种初始方法会做很多不必要的工作。例如,在包含大量帖子和评论的网站上,查询会收回大量不必要的评论。
更新的问题: 如何按评论日期订购帖子列表?
答案 0 :(得分:0)
这是一种有趣的方法......但是,我想你可以用帖子ID填充一个数组,然后再检查它们。
$args = ....
$ids = array();
.....
if(!in_array($post->ID, $ids):
$ids[] = $post->ID;
echo $post->title;
endif;