Skip to main content
2 of 3
Misunderstanding the point of question but now understand the point and fix it as well :)

You can get current user role name(translatable name but not slug) by following function, you just need to pass a parameter current user role slug name:

function wp_get_current_user_translatable_role_name( $current_user_role_slug = '' ) {
    $role_name = '';

    if ( ! function_exists( 'get_editable_roles' ) ) {
        require_once ABSPATH . 'wp-admin/includes/user.php';
    }

    $editable_roles = array_reverse( get_editable_roles() );

    foreach ( $editable_roles as $role => $details ) {
        $name = translate_user_role( $details['name'] );
        // preselect specified role
        if ( $current_user_role_slug == $role ) {
            $role_name  = $name;
        }
    }

    echo $role_name ;
}

Now, get current user role slug name by following code:

$user_meta = get_userdata(get_current_user_id());
$current_user_role_slug = $user_meta->roles[0];

Use wp_get_current_user_translatable_role_name( $current_user_role_slug ); function to get current user role name(translatable name but not slug).

NOTE: User must have to login to view role name.