web-dev-qa-db-ja.com

最近の作家を探す

私がやろうとしていることは、16人の異なる作者からの16の最新の投稿を得ることです。言い換えれば、最新の投稿は16個ありますが、1人の投稿者がこのページに1つ以上投稿することはありません。

私が考えたやり方は、すべての作者をループして重複を取り除き、それを16に制限してforループごとに投稿を生成することですが、これは非常に重い作業になるでしょう。サーバ。

助言がありますか?

2
pete_schuster

カスタム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' ) );
4
TheDeadMedic