+
+ /**
+ * Returns an array of user roles for a given user object.
+ *
+ * @since 4.4.0
+ * @access protected
+ *
+ * @param WP_User $user_object The WP_User object.
+ * @return array An array of user roles.
+ */
+ protected function get_role_list( $user_object ) {
+ $wp_roles = wp_roles();
+
+ $role_list = array();
+
+ foreach ( $user_object->roles as $role ) {
+ if ( isset( $wp_roles->role_names[ $role ] ) ) {
+ $role_list[ $role ] = translate_user_role( $wp_roles->role_names[ $role ] );
+ }
+ }
+
+ if ( empty( $role_list ) ) {
+ $role_list['none'] = _x( 'None', 'no user roles' );
+ }
+
+ /**
+ * Filters the returned array of roles for a user.
+ *
+ * @since 4.4.0
+ *
+ * @param array $role_list An array of user roles.
+ * @param WP_User $user_object A WP_User object.
+ */
+ return apply_filters( 'get_role_list', $role_list, $user_object );
+ }
+