如何按任何值(LAST_NAME、用户定义的字段等)对GET_USERS()进行排序

时间:2015-10-22 作者:flomei

我想对get_users() 通过姓氏、名字、用户定义的字段或其他方式。

如何在仍使用的情况下实现这一点get_users()?

1 个回复
最合适的回答,由SO网友:flomei 整理而成

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_keywp_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\');

相关推荐

Make custom column sortable

我在自定义帖子类型中添加了一个自定义列,效果很好。我只想按标题对名字进行排序,所以我尝试了这个,function sortable_custom_columns( $columns ) { $columns[\'custom_column\'] = \'title\'; return $columns; } add_filter( \'manage_edit-custom_sortable_columns\', \'sortable_custom_colum