wordpress中每个作者的最新帖子

时间:2012-01-20 20:47:11

标签: mysql wordpress group-by distinct

我有一个拥有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日)

1 个答案:

答案 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'

) ); 

它会显示最新的帖子。