偶尔在写用户后台时需要用到用户筛选功能,要实现用户筛选,就必须要查询到用户,最简单的办法就是遍历所有用户,取出符合要求的。其实wordpress给我们准备好了用来查找符合要求的用户列表WordPress函数get_users,下面一起来学习下吧。
get_users( array $args = array() )
官方描述:检索匹配条件的用户列表。
参数:
(string|array) (Optional) 查询参数字符串或数组.
参数详解:
‘blog_id’
(int) 站点id 默认是当前选择的站点。
‘role’
(string|array) 一个数组或以逗号分隔的角色名称列表,用户必须与之匹配才能将其包含在结果中。注意,这是一个包含所有内容的列表:用户必须匹配*每个*角色。
‘role__in’
(array)一个角色名称数组。匹配的用户必须至少具有其中一个角色。
‘role__not_in’
(array) 要排除的角色名称数组。匹配一个或多个这些角色的用户将不包括在结果中。
‘meta_key’
(string) 用户元密钥
‘meta_value’
(string) 用户元值
‘meta_compare’
(string) 比较运算符来测试$meta_value..接受‘,<=’,‘类似’,‘不像’,‘in’,‘之间’,‘不’,‘存在’,‘不存在’,‘REGEXP’,‘不REGEXP’,或‘RLIKE’.默认“=”
‘include’
(array) 要包含的用户ID数组。
‘exclude’
(array) 要排除的用户ID数组。
‘search’
(string) 搜索关键字。搜索列上可能的字符串匹配。什么时候$search_columns为空,则尝试根据搜索字符串确定要搜索的列。
‘search_columns’
(array) 要搜索的列名数组。接受“ID”、“登录”、“nicename”、“email”、“url”。
‘orderby’
(string|array) 字段对检索到的用户进行排序。可以是单个值、值数组或以字段作为键和顺序(‘asc’或‘DESC’)作为值的多维数组。接受的值是‘ID’、‘Display_name’(或‘name’)、‘include’、‘user_login’(或‘login’)、‘login_in’、‘user_nicename’(或‘nicename’)、‘nicename_in’、‘user_email(或’Email‘)、’user_url‘(或’url‘)、’user_lited‘(或’已注册‘)、’post_count‘、’meta_value‘,“meta_value_num”,$meta_key的数组键$meta_query..若要使用“meta_value”或“meta_value_num”,$meta_key也必须加以定义。默认的“USER_LOGIN”。
‘order’
(string) 指示用户的升序或降序。作为$orderby数组优先于此参数。接受‘ASC’,‘DESC’。默认的‘asc’。
‘offset’
(int) 要在检索的结果中抵消的用户数。可与分页结合使用。默认0。
‘number’
(int) 要限制查询的用户数。可与分页结合使用。Value-1(ALL)是受支持的,但在较大的站点上应该谨慎使用。默认为空(所有用户)。
‘paged’
(int) 当与数字一起使用时,定义要返回的结果页。默认1.
‘count_total’
(bool) 是否计算找到的用户总数。如果不需要分页,将其设置为false可以提高性能。默认为真。
‘fields’
(string|array) 要返回的字段。单个或所有字段(字符串)或字段数组。接受‘ID’,‘Display_name’,‘user_login’,‘user_nicename’,‘user_email’,‘user_url’,‘user_orted’。所有字段使用“all”,“all_with_meta”包括元字段。默认的“全部”。
‘who’
(string) 要查询的用户类型。接受“作者”。默认为空(所有用户)。
‘has_published_posts’
(bool|array) 将一组POST类型传递给在这些POST类型中发布文章的用户,以筛选结果。true是所有公共邮件类型的别名。
‘nicename’
(string) 用户名称。
‘nicename__in’
(array) 要包含的一组名称。匹配这些名称之一的用户将包括在结果中。
‘nicename__not_in’
(array) 要排除的一组名称。匹配这些名称之一的用户将不包括在结果中。
‘login’
(string) 用户登录。
‘login__in’
(array) 要包括的一系列登录。匹配其中一个登录的用户将包括在结果中。
‘login__not_in’
(array) 要排除的一系列登录。匹配其中一个登录的用户将不包括在结果中。
简单使用
<?php
$blogusers = get_users( array( ‘search’ => ‘john’ ) );
// Array of WP_User objects.
foreach ( $blogusers as $user ) {
echo ‘<span>’ . esc_html( $user->user_email ) . ‘</span>’;
}
使用search参数进行搜索用户信息。