描述
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] =>
)

