由于users表中的post\\u count属性包括用户的帖子总数,并且没有按帖子类型进行任何划分,因此我认为唯一的方法是发出自定义SQL查询。
<?php
//Get 10 most popular authors for post type
$topAuthors = $wpdb->get_results(
"
SELECT post_author
FROM $wpdb->posts WHERE post_type = \'topic\'
GROUP BY post_author
ORDER BY COUNT(*) DESC
LIMIT 0,10
"
, OBJECT_K);
您可以修改SQL查询的order和limit属性,以准确了解您需要的内容。
根据您的条件获得作者ID后,您可以使用include
论点
<?php
$authors = new WP_User_Query(array(
\'include\' => array_keys($topAuthors)
));
foreach( $authors->get_results() as $author ) {
echo $author->ID;
echo $author->user_login;
}