get_users()
不允许您直接按自己喜欢的内容进行排序,但有一些方法可以解决这一问题。
食品法典get_users()
表示:
orderby - 按“ID”、“login”、“nicename”、“email”、“url”、“registered”、“display\\u name”、“post\\u count”、“include”或“meta\\u value”排序(查询还必须包含“meta\\u key”-请参阅WP_User_Query).
meta_value
这是一种非常强大的方式。如果选择它,则必须定义meta_key
这将定义订购的依据。
meta_key - 这个meta_key 在wp_usermeta table 对于meta_value 待退回。看见get_userdata() 对于可能的元键。
get_userdata()
可以return quite a lot of values, 可能足够订购了。
<小时>
Examples
因此,如果要按用户的姓氏排序,请使用
get_users()
像这样:
$your_users = get_users(\'orderby=meta_value&meta_key=last_name\');
按名字排序
$your_users = get_users(\'orderby=meta_value&meta_key=first_name\');
按注册日期排序
$your_users = get_users(\'orderby=meta_value&meta_key=user_registered\');
你当然可以使用
order
反转排序顺序
// Sorting users by registration date - ascending (standard behaviour)
$your_users = get_users(\'orderby=meta_value&meta_key=user_registered\');
// Sorting users by registration date - descending (add order=DESC)
$your_users = get_users(\'orderby=meta_value&meta_key=user_registered&order=DESC\');
<小时>
One step further
如果要按用户定义的值排序
get_userdata()
无法传递,您可以将另一个参数传递给
get_users()
.
$your_users = get_users(\'fields=all_with_meta\');
这将生成一个数组,其中包含链接到用户的所有元数据。然后可以使用自定义排序函数(
via usort()) 按特定参数排序。
$your_users = get_users(\'fields=all_with_meta\');
// very basic comparison...
function compare($a, $b) { return ($a->special > $b->special) ? -1 : 1; }
usort($your_users, \'compare\');