admin管理员组文章数量:1310542
How can I get a list of all users that are in WordPress by their role or capabilities?
For example:
- Display
all subscribers list
in WordPress. - Display
all authors list
in WordPress. - Display
all editors list
in WordPress.
How can I get a list of all users that are in WordPress by their role or capabilities?
For example:
- Display
all subscribers list
in WordPress. - Display
all authors list
in WordPress. - Display
all editors list
in WordPress.
4 Answers
Reset to default 36There may be some different way to do that, but most proper way to do that is following.
<?php
$args = array(
'role' => 'Your desired role goes here.',
'orderby' => 'user_nicename',
'order' => 'ASC'
);
$users = get_users( $args );
echo '<ul>';
foreach ( $users as $user ) {
echo '<li>' . esc_html( $user->display_name ) . '[' . esc_html( $user->user_email ) . ']</li>';
}
echo '</ul>';
?>
Here the simple approach to grouping roles.
$wp_roles = wp_roles();
$result = count_users();
foreach ( $result['avail_roles'] as $role => $count )
{
if ( 0 == $count )
continue; //pass role none
$args = array(
'role' => $role
);
$users = get_users( $args );
$user = array();
for ( $i = 0; $i < $count ; $i++ )
$user[] = esc_html( $users[ $i ]->display_name ); //show display name
//output
echo wp_sprintf( '<h2>%1$s</h2><ul><li>%2$s</li></ul>',
esc_html( $wp_roles->role_names[ $role ] ),
implode( '</li><li>', $user )
);
}
When you find users with Ultimate Member Plugin Roles, You have to add "um_" to your role value. For example, you created the role name "Client" in Ultimate Membership Plugin, then $args would be
$args = array(
'role' => 'um_client',
'orderby' => 'user_nicename',
'order' => 'ASC'
);
Expanding on Raja's answer you could also write a helper function that handles this for you:
<?php
# This goes in functions.php
function get_users_by_role($role, $orderby, $order) {
$args = array(
'role' => $role,
'orderby' => $orderby,
'order' => $order
);
$users = get_users( $args );
return $users;
}
?>
Then to get users by a specific role you can simply do:
<?php $users = get_users_by_role('Your role', 'user_nicename', 'ASC'); ?>
本文标签: capabilitiesHow can I get a list of users by their role
版权声明:本文标题:capabilities - How can I get a list of users by their role? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741817633a2399167.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论