/**
* Gets user role names by user ID.
*
* @see https://wpcodebook.com/wordpress-get-user-role-names-by-user-id/
* @see https://developer.wordpress.org/reference/classes/wp_user/
*
* @return string
*/
function wpcodebook_get_user_role_names( $user_id ) {
$user = new WP_User( $user_id );
if ( ! $user ) {
return '';
}
$role_names = array_map(
function ( $role_id ) {
global $wp_roles;
return ( $wp_roles->roles[ $role_id ]['name'] ?? $role_id );
},
$user->roles
);
return implode( ', ', $role_names );
}