我想做的是从16位不同的作者那里得到16篇最新的帖子。换句话说,将有16篇最新的帖子,但没有一位作者会在页面上发表超过1篇的帖子。
我考虑的方法是遍历所有的作者,删除重复项,然后将其限制为16个,并使用它在一个for-each循环中生成帖子,但我想这对服务器来说会很沉重。
有什么建议吗?
我想做的是从16位不同的作者那里得到16篇最新的帖子。换句话说,将有16篇最新的帖子,但没有一位作者会在页面上发表超过1篇的帖子。
我考虑的方法是遍历所有的作者,删除重复项,然后将其限制为16个,并使用它在一个for-each循环中生成帖子,但我想这对服务器来说会很沉重。
有什么建议吗?
使用自定义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\' ) );
我希望这有任何意义。我希望能够向特定的查询对象添加子句,而不影响页面上的主循环,例如边栏或页脚中的内容。有可能吗?