bbp_set_current_user_default_role()
Add the default role to the current user if needed
Description Description
This function will bail if the forum is not global in a multisite installation of WordPress, or if the user is marked as spam or deleted.
Return Return
(If) not multisite, not global, or user is deleted/spammed
Source Source
File: includes/users/capabilities.php
function bbp_set_current_user_default_role() { /** Sanity ****************************************************************/ // Bail if deactivating bbPress if ( bbp_is_deactivation() ) { return; } // Catch all, to prevent premature user initialization if ( ! did_action( 'set_current_user' ) ) { return; } // Bail if not logged in or already a member of this site if ( ! is_user_logged_in() ) { return; } // Get the current user ID $user_id = bbp_get_current_user_id(); // Bail if user already has a forums role if ( bbp_get_user_role( $user_id ) ) { return; } // Bail if user is marked as spam or is deleted if ( bbp_is_user_inactive( $user_id ) ) { return; } /** Ready *****************************************************************/ // Load up bbPress once $bbp = bbpress(); // Get whether or not to add a role to the user account $add_to_site = bbp_allow_global_access(); // Get the current user's WordPress role. Set to empty string if none found. $user_role = bbp_get_user_blog_role( $user_id ); // Get the role map $role_map = bbp_get_user_role_map(); /** Forum Role ************************************************************/ // Use a mapped role or default role $new_role = empty( $user_role ) || ! isset( $role_map[ $user_role ] ) ? bbp_get_default_role() : $role_map[ $user_role ]; /** Add or Map ************************************************************/ // Add the user to the site if ( true === $add_to_site ) { bbp_set_user_role( $user_id, $new_role ); // Don't add the user, but still give them the correct caps dynamically } else { $bbp->current_user->caps[ $new_role ] = true; $bbp->current_user->get_role_caps(); } }
Changelog Changelog
Version | Description |
---|---|
2.0.0 | Introduced. |