如何随机查询5个发布了10条以上帖子的用户

时间:2018-11-06 作者:p oneland

我想显示5个发布了10篇以上帖子的用户,当页面再次加载时,它应该显示另外5个用户或与10篇以上帖子的新用户混合。

我如何做到这一点?谢谢你的帮助。

1 个回复
SO网友:A Rob

我试过这个代码,应该对你有用

在您的function.php 在WP\\u User\\u查询中提供随机顺序

function my_random_user_query( $class ) {
 if( \'rand\' == $class->query_vars[\'orderby\'] )
 $class->query_orderby = str_replace( \'user_login\', \'RAND()\', $class->query_orderby );
 return $class;
}
add_action( \'pre_user_query\', \'my_random_user_query\' );

Source

像这样的查询

// Get all users id
$args = array (
 \'has_published_posts\' => true,
 \'fields\' => \'ids\',
);
$wp_users = new WP_User_Query( $args );
$ids_users = $wp_users->get_results();

// Return users id with more than 10 posts
$users = array_filter($ids_users, function($id){
  $count = count_user_posts( $id );
  if($count >= 10) return $id;
});

// Get users previously filtered 
$args = array (
 \'orderby\'    => \'rand\',
 \'include\'    => $users,
 \'number\' => 5
);
$wp_users = new WP_User_Query( $args );
$result = $wp_users->get_results();

Codex query about users

结束

相关推荐

不显示第2页结果的自定义WP_Query的分页

我知道这个问题已经被问过很多次了,从上午11点到晚上9点,我一整天都在尝试我遇到的每一个答案,我被卡住了。这是我的搜索页面http://tribute-software.com/development/?s=1991正如你所看到的,现在的搜索是针对1991年的。我在页面上打印了一些数据,这样可以帮助我们调试。它在打印的数据中显示了正确的10篇文章,并计算了正确的页数(2)--(我在后端将每页的文章数设置为4篇)。单击第2页时,我无法获得任何结果。但当我搜索一个名字“Danielle”时,第2页就可以了。我