¿Cómo puedo obtener una lista de usuarios por su rol?
¿Cómo puedo obtener una lista de todos los usuarios que están en WordPress por su rol o capacidades?
Por ejemplo:
- Mostrar
lista de todos los suscriptores
en WordPress. - Mostrar
lista de todos los autores
en WordPress. - Mostrar
lista de todos los editores
en WordPress.

Puede haber diferentes formas de hacerlo, pero la forma más adecuada es la siguiente.
<?php
$args = array(
'role' => 'Tu rol deseado va aquí.',
'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>';
?>

Solo quería agregar (ya que me tomó un tiempo darme cuenta): para cualquiera que intente usar esto dentro de un shortcode (donde necesitas retornar en lugar de hacer echo), puedes seguir el ejemplo aquí para usar el almacenamiento en búfer de salida.

Aquí el enfoque simple para agrupar roles.
$wp_roles = wp_roles();
$result = count_users();
foreach ( $result['avail_roles'] as $role => $count )
{
if ( 0 == $count )
continue; //omitir rol ninguno
$args = array(
'role' => $role
);
$users = get_users( $args );
$user = array();
for ( $i = 0; $i < $count ; $i++ )
$user[] = esc_html( $users[ $i ]->display_name ); //mostrar nombre para mostrar
//salida
echo wp_sprintf( '<h2>%1$s</h2><ul><li>%2$s</li></ul>',
esc_html( $wp_roles->role_names[ $role ] ),
implode( '</li><li>', $user )
);
}

Cuando encuentres usuarios con roles del Plugin Ultimate Member, debes agregar "um_" al valor del rol. Por ejemplo, si creaste el nombre de rol "Cliente" en el Plugin Ultimate Membership, entonces $args sería:
$args = array(
'role' => 'um_cliente',
'orderby' => 'user_nicename',
'order' => 'ASC'
);

Ampliando la respuesta de Raja, también podrías escribir una función auxiliar que maneje esto por ti:
<?php
# Esto va en functions.php
function get_users_by_role($role, $orderby, $order) {
$args = array(
'role' => $role,
'orderby' => $orderby,
'order' => $order
);
$users = get_users( $args );
return $users;
}
?>
Luego, para obtener usuarios por un rol específico, simplemente puedes hacer:
<?php $users = get_users_by_role('Tu rol', 'user_nicename', 'ASC'); ?>
