让代码更简单

WordPress函数get_users查找符合要求的用户列表

重要:本文最后更新于2019-08-07 08:22:37,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

偶尔在写用户后台时需要用到用户筛选功能,要实现用户筛选,就必须要查询到用户,最简单的办法就是遍历所有用户,取出符合要求的。其实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参数进行搜索用户信息。

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (8)

登录后评论
怎么获取的 这个参数 count_total 的返回结果值 查出来的总条数
count_total设为true
这个返回值要怎么取出来,这个参数没找到对应的值
你的意思是这个函数没有返回总条数是吗?
如何通过评论者的邮件地址来调用它在当前站点上面所评论过的文章列表?????
这种需求就需要使用sql联表查询了,没有直接提供函数。
不通过数据库也可以吧?如果用JQ查询的方式如何实现?
不通过数据库你哪儿来的数据。。。
QQ咨询 邮件咨询 狗哥推荐