我有一个拥有28个用户的Wordpress网站,并希望获得每个用户的最新帖子(每个用户只有一个帖子)。我尝试过使用DISTINCT和GROUP BY的自定义sql,但没有成功。
这是我最接近的。它获取了唯一的帖子,但是最老的帖子而不是最新的帖子。
function last_post_per_user() {
global $wpdb;
return $wpdb->get_results('SELECT ID FROM '.$wpdb->posts.' WHERE post_status=\'publish\' AND post_type=\'post\' AND post_author!=\'1\' GROUP BY post_author');
}
$posts = last_post_per_user();
foreach ($posts as $post) {
$post_id[] = $post->ID;
}
query_posts( array(
'post_type' => 'post',
'posts_per_page' => 10,
'post__in' => $post_id
) );
有没有人对如何解决这个问题有任何建议?
(实际上已尝试解决整个f * cking日)
答案 0 :(得分:1)
尝试替换它:
query_posts( array(
'post_type' => 'post',
'posts_per_page' => 10,
'post__in' => $post_id
) );
用这个:
query_posts( array(
'post_type' => 'post',
'posts_per_page' => 10,
'post__in' => $post_id,
'orderby' => 'date',
'order' => 'DESC'
) );
它会显示最新的帖子。