【发布时间】:2010-08-23 07:14:18
【问题描述】:
我在博客上有几位作者,我想在主页 (index.php) 上查询帖子,以便它只显示每个作者的最新帖子。所以假设我有 5 个作者,它将显示 5 个帖子,每个帖子都是每个作者的最新帖子。
关于如何做到这一点的任何想法?我不想为每个作者创建单独的循环,它必须是自动的并使用默认循环。谢谢。
【问题讨论】:
-
有人知道怎么做吗?谢谢。
我在博客上有几位作者,我想在主页 (index.php) 上查询帖子,以便它只显示每个作者的最新帖子。所以假设我有 5 个作者,它将显示 5 个帖子,每个帖子都是每个作者的最新帖子。
关于如何做到这一点的任何想法?我不想为每个作者创建单独的循环,它必须是自动的并使用默认循环。谢谢。
【问题讨论】:
您可以这样做,使用自定义查询 (as explained here) 从每个作者那里获取最新帖子的初始 ID,然后将这些帖子 ID 添加到常规循环查询:
<?php
$querystr = "
SELECT wposts.id, max(wposts.post_date) latest_post
FROM $wpdb->posts wposts
GROUP BY wposts.post_date
";
$post_ids = array();
if($pageposts = $wpdb->get_results($querystr, OBJECT)( {
foreach ($pageposts as $post) {
$post_ids[] = $post->id;
}
}
query_posts(array('post__in' => $post_ids));
if ( have_posts() ) : while ( have_posts() ) : the_post();
echo "your loop item output here";
endwhile; else:
endif;
wp_reset_query();
?>
虽然它没有经过测试,所以是 YMMV,但是这些方面的东西应该可以完成工作:P。 祝你好运!
【讨论】: