使用WP_User_Query
以及has_published_posts
参数将结果限制为已发布指定帖子类型的用户。
get_users()
只是一个包装WP_User_Query()
.
has_published_posts
(布尔值/数组)-将帖子类型数组传递给已发布这些帖子类型的用户,以过滤结果。true
是所有公共帖子类型的别名。默认值为null
.
以下是针对已发布页面帖子类型的用户的用户查询的基本示例:
// Set up arguments for query.
$args = [
\'has_published_posts\' => [ \'page\' ],
\'orderby\' => \'post_count\',
\'order\' => \'DESC\',
];
// Create the WP_User_Query object
$user_query = new WP_User_Query( $args );
// Get results.
$users = $user_query->get_results();
// Check for results
if ( ! empty( $users ) ) {
echo \'<ul>\' . PHP_EOL;
// Loop through each author.
foreach ( $users as $user ) {
// Get all the user\'s data.
$user_info = get_userdata( $user->ID );
echo "\\t" . \'<li>\' .
\'<em>\' . __( \'User ID: \', \'text-domain\' ) . esc_html( $user->ID ) . \'</em> \' .
esc_html( $user_info->first_name ) . \' \' .
esc_html( $user_info->last_name ) .
\'</li>\' . PHP_EOL;
}
echo \'</ul>\' . PHP_EOL;
} else {
echo __( \'No users found\', \'text-domain\' );
}