Find most recent authors

时间:2011-06-13 作者:pete_schuster

我想做的是从16位不同的作者那里得到16篇最新的帖子。换句话说,将有16篇最新的帖子,但没有一位作者会在页面上发表超过1篇的帖子。

我考虑的方法是遍历所有的作者,删除重复项,然后将其限制为16个,并使用它在一个for-each循环中生成帖子,但我想这对服务器来说会很沉重。

有什么建议吗?

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

使用自定义SQL查询获取具有唯一作者的最新16个帖子ID;

$post_IDs = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_type = \'product\' AND post_status = \'publish\' GROUP BY post_author ORDER BY post_date DESC LIMIT 16" );
然后使用post__in 论点

$recent_posts = new WP_Query( array( \'post__in\' => $post_IDs, \'post_type\' => \'product\' ) );

结束