Skip to:
Content

bbPress.org

Changeset 6147


Ignore:
Timestamp:
12/09/2016 07:30:14 AM (4 years ago)
Author:
johnjamesjacoby
Message:

Roles: Port bbp_roles_init() from trunk to 2.5 branch. See: #3028.

Location:
branches/2.5/includes/core
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/includes/core/actions.php

    r5643 r6147  
    4646add_action( 'wp_head',                  'bbp_head',                   10    );
    4747add_action( 'wp_footer',                'bbp_footer',                 10    );
     48add_action( 'wp_roles_init',            'bbp_roles_init',             10    );
    4849add_action( 'set_current_user',         'bbp_setup_current_user',     10    );
    4950add_action( 'setup_theme',              'bbp_setup_theme',            10    );
     
    8586
    8687/**
    87  * There is no action API for roles to use, so hook in immediately after
    88  * everything is included (including the theme's functions.php. This is after
    89  * the $wp_roles global is set but before $wp->init().
    90  *
    91  * If it's hooked in any sooner, role names may not be translated correctly.
    92  *
    93  * @link http://bbpress.trac.wordpress.org/ticket/2219
    94  *
    95  * This is kind of lame, but is all we have for now.
    96  */
    97 add_action( 'bbp_after_setup_theme', 'bbp_add_forums_roles', 1 );
     88 * bbp_roles_init - Attached to 'wp_roles_init' above
     89 */
     90add_action( 'bbp_roles_init', 'bbp_add_forums_roles', 1 );
    9891
    9992/**
  • branches/2.5/includes/core/capabilities.php

    r6125 r6147  
    293293 * @since bbPress (r4290)
    294294 *
     295 * @param WP_Roles $wp_roles The main WordPress roles global
     296 *
    295297 * @uses bbp_get_wp_roles() To load and get the $wp_roles global
    296298 * @uses bbp_get_dynamic_roles() To get and add bbPress's roles to $wp_roles
    297299 * @return WP_Roles The main $wp_roles global
    298300 */
    299 function bbp_add_forums_roles() {
    300     $wp_roles = bbp_get_wp_roles();
    301 
     301function bbp_add_forums_roles( $wp_roles = null ) {
     302
     303    // Attempt to get global roles if not passed in & not mid-initialization
     304    if ( ( null === $wp_roles ) && ! doing_action( 'wp_roles_init' ) ) {
     305        $wp_roles = bbp_get_wp_roles();
     306    }
     307
     308    // Loop through dynamic roles and add them to the $wp_roles array
    302309    foreach ( bbp_get_dynamic_roles() as $role_id => $details ) {
    303310        $wp_roles->roles[$role_id]        = $details;
     
    306313    }
    307314
     315    // Return the modified $wp_roles array
    308316    return $wp_roles;
    309317}
  • branches/2.5/includes/core/sub-actions.php

    r6120 r6147  
    131131function bbp_widgets_init() {
    132132    do_action( 'bbp_widgets_init' );
     133}
     134
     135/**
     136 * Initialize roles
     137 *
     138 * @since bbPress (r3389)
     139 *
     140 * @param WP_Roles $wp_roles The main WordPress roles global
     141 *
     142 * @uses do_action() Calls 'bbp_roles_init'
     143 */
     144function bbp_roles_init( $wp_roles = null ) {
     145    do_action( 'bbp_roles_init', $wp_roles );
    133146}
    134147
Note: See TracChangeset for help on using the changeset viewer.