Jan 2, 2016
Get Current User’s Role in WordPress
There’s no WordPress function to directly get the current user’s role, so I typically include my own function to serve that purpose, similar to the one below
This function is pretty versatile since if you pass a specific user’s ID or a WP_User object to it, it will return that user’s role. If you pass nothing to it, you’ll get the role of the current user instead.
/*
* Get user's role.
*
* If $user parameter is not provided, returns the current user's role.
* Only returns the user's first role, even if they have more than one.
*
* @param mixed $user User ID or object. Pass nothing for current user.
*
* @return string The User's role, or an empty string if none.
*/
function km_get_user_role( $user = null ) {
$user = $user ? new WP_User( $user ) : wp_get_current_user();
return $user->roles ? $user->roles[0] : '';
}
Note that if a user has multiple roles assigned to them, this function will only return the first role.