/** * Return a user's main role * * @since bbPress (r3860) * * @param int $user_id * @uses bbp_get_user_id() To get the user id * @uses get_userdata() To get the user data * @uses apply_filters() Calls 'bbp_get_user_role' with the * role and user id * @return string */ function bbp_get_user_role($user_id = 0) { // Validate user id $user_id = bbp_get_user_id($user_id, false, false); if (empty($user_id)) { return false; } // Get userdata $user = get_userdata($user_id); // Get the user's main role $role = isset($user->roles) ? array_shift($user->roles) : bbp_get_anonymous_role(); return apply_filters('bbp_get_user_role', $role, $user_id, $user); }
/** * Return a user's main role for display * * @since bbPress (r3860) * * @param int $user_id * @uses bbp_get_user_role() To get the main user role * @uses bbp_get_moderator_role() To get the moderator role * @uses bbp_get_participant_role() To get the participant role * @uses bbp_get_moderator_role() To get the moderator role * @uses apply_filters() Calls 'bbp_get_user_display_role' with the * display role, user id, and user role * @return string */ function bbp_get_user_display_role($user_id = 0) { // Validate user id $user_id = bbp_get_user_id($user_id, false, false); $user_role = bbp_get_user_role($user_id); // Capes earn Vinz Clortho status if (is_super_admin($user_id)) { $role = __('Key Master', 'bbpress'); // Not the keymaster of Gozer } else { // Get the user's main role for display switch ($user_role) { /** bbPress Roles *********************************************/ // Anonymous case bbp_get_anonymous_role(): $role = __('Guest', 'bbpress'); break; // Multisite Participant Role // Multisite Participant Role case bbp_get_participant_role(): $role = __('Member', 'bbpress'); break; // Moderator // Moderator case bbp_get_moderator_role(): $role = __('Moderator', 'bbpress'); break; /** WordPress Core Roles **************************************/ /** WordPress Core Roles **************************************/ case 'administrator': case 'editor': case 'author': case 'contributor': case 'subscriber': default: // Any other role (plugins, etc...) global $wp_roles; // Load roles if not set if (!isset($wp_roles)) { $wp_roles = new WP_Roles(); } // Get a translated role name if (!empty($wp_roles->role_names[$user_role])) { $role = translate_user_role($wp_roles->role_names[$user_role]); } else { $role = __('Member', 'bbpress'); } break; } } return apply_filters('bbp_get_user_display_role', $role, $user_id, $user_role); }