描述

WP_User_Query的包装器。检索符合条件的用户数组$args。

用法


<?php get_users($ args); ?>

参数


<?php $args = array(
	'blog_id'      => $GLOBALS['blog_id'],
	'role'         => '',
	'role__in'     => array(),
	'role__not_in' => array(),
	'meta_key'     => '',
	'meta_value'   => '',
	'meta_compare' => '',
	'meta_query'   => array(),
	'date_query'   => array(),        
	'include'      => array(),
	'exclude'      => array(),
	'orderby'      => 'login',
	'order'        => 'ASC',
	'offset'       => '',
	'search'       => '',
	'number'       => '',
	'count_total'  => false,
	'fields'       => 'all',
	'who'          => '',
 ); 
get_users( $args ); ?>

blog_id - 当前博客的ID,除非启用了多站点,并提供了另一个ID
角色 - 将返回的用户限制为指定的角色。Roles_and_Capabilities#User_Levels
role__in - 限制具有指定角色之一的返回用户。(自WP 4.4以来)
role__not_in - 排除具有任何指定角色的用户。(自WP 4.4以来)
include - 一个ID数组。只有与这些ID匹配的用户才会被返回。请注意,目前include和exclude(下面)参数不能一起使用。见票#23228
exclude - 一个ID数组。与这些ID匹配的用户将不会返回,无论其他参数如何。如果include参数被设置,它将被忽略。
meta_key -该meta_key在wp_usermeta表为meta_value归还。有关可能的元键,请参阅get_userdata()。
meta_value - 元键的值。
meta_compare - 运算符来测试' meta_value '。可能的值为'!=','>','> =','<'或'<='。默认值为'='。 meta_query - 通过WP_Meta_Query对象处理的数组。 date_query - 通过WP_Date_Query对象处理的数组。user_registered字段允许日期查询。 orderby - 按'ID','登录','nicename','email','url','registered','display_name','post_count','include'或'meta_value'排序(查询也必须包含'meta_key' - 参见WP_User_Query)。 订单 - ASC(升序)或DESC(降序)。 offset - 返回数组中要跳过的前n个用户。 搜索 - 使用此参数通过电子邮件地址,URL,ID,用户名或display_name搜索用户。 number - 限制返回的用户总数。 paged - 确定与数字一起使用时应返回哪个页面。 count_total - 这总是错误的。要获得总计数,请直接调用WP_User_Query。看到这里使用。 字段 - 要包含在返回的数组中的哪些字段。默认是' 全部 '。传递一个wp_users表字段的数组,以返回只有这些字段的stdClass对象数组。 谁 - 如果设置为“作者”,则只会返回作者(用户级别大于0)。

例子

在无序列表中显示所有订阅者的基本示例。


<?php
$blogusers = get_users( 'blog_id=1&orderby=nicename&role=subscriber' );
// WP_User对象的数组.
foreach ( $blogusers as $user ) {
	echo '<span>' . esc_html( $user->user_email ) . '</span>';
}

使用“搜索”字段的示例。


<?php
$blogusers = get_users( array( 'search' => 'john' ) );
// WP_User对象的数组
foreach ( $blogusers as $user ) {
	echo '<span>' . esc_html( $user->user_email ) . '</span>';
}

第一个例子将会显示和显示所有拥有用户名,ID,电子邮件“john”的用户。您还可以通过在搜索查询之前或之后添加*进行通配符搜索。例如,要搜索以“jo”开头的所有用户,您将传递类似“ jo * ”的内容。

结果将是以“jo”开头的用户名,ID或电子邮件的所有用户。*可以在搜索查询之前或之后放置。放置之前,结果将是您查询中结束的所有用户。

一个查询特定字段的示例。


<?php
$blogusers = get_users( array( 'fields' => array( 'display_name' ) ) );
//  stdClass对象的数组.
foreach ( $blogusers as $user ) {
	echo '<span>' . esc_html( $user->display_name ) . '</span>';
}

返回

(阵列)
ID,stdClass对象或WP_User对象的数组,具体取决于' fields '参数的值。
如果' fields '设置为'all'(默认)或'all_with_meta',它将返回一个WP_User对象数组。
如果' fields '设置为一个wp_users表字段的数组,它将返回一个只有这些字段的stdClass对象的数组。
如果' fields '设置为任何单独的wp_users表字段,将返回一个ID数组。

用户的示例对象


[0] => WP_User Object	(
	[data] => stdClass Object
	(
		[ID] => 3
		[user_login] => dabid
		[user_pass] => $P$BK1deNU7lV/rgwp2oncgESRHRYLedRF.
		[user_nicename] => David
		[user_email] => example@example.com
		[user_url] => 
		[user_registered] => 2017-03-21 14:11:32
		[user_activation_key] => 149492:$P$BV76R0AcpmGMNAStZbdO.uVu7QWF9l1
		[user_status] => 0
		[display_name] => David Example
	)

	[ID] => 3
	[caps] => Array
		(
			[author] => 1
		)
		[cap_key] => llk_capabilities
	[roles] => Array
		(
			[0] => author
		)
		[allcaps] => Array
		(
		[upload_files] => 1
		[edit_posts] => 1
		[edit_published_posts] => 1
		[publish_posts] => 1
		[read] => 1
		[level_2] => 1
		[level_1] => 1
		[level_0] => 1
		[delete_posts] => 1
		[delete_published_posts] => 1
		[author] => 1
		)
	[filter] => 
	)