Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
04/16/2014 02:13:53 PM (10 years ago)
Author:
boonebgorges
Message:

Proper ordering for Settings subnav items in WP Admin Bar

Fixes #5537

Props r-a-y

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-xprofile/bp-xprofile-loader.php

    r8223 r8277  
    4545            )
    4646        );
     47
     48        $this->setup_hooks();
    4749    }
    4850
     
    283285            }
    284286
    285             // Privacy Settings
    286             if ( bp_is_active( 'settings' ) ) {
    287 
    288                 // Setup the logged in user variables
    289                 $settings_link = trailingslashit( bp_loggedin_user_domain() . bp_get_settings_slug() );
    290 
    291                 // Add main Settings menu
    292                 $wp_admin_nav[] = array(
    293                     'parent' => 'my-account-' . $bp->settings->id,
    294                     'id'     => 'my-account-' . $bp->settings->id . '-profile',
    295                     'title'  => __( 'Profile', 'buddypress' ),
    296                     'href'   => trailingslashit( $settings_link . 'profile' )
    297                 );
    298             }
    299287        }
    300288
    301289        parent::setup_admin_bar( $wp_admin_nav );
     290    }
     291
     292    /**
     293     * Add custom hooks.
     294     *
     295     * @since BuddyPress (2.0.0)
     296     */
     297    public function setup_hooks() {
     298        add_filter( 'bp_settings_admin_nav', array( $this, 'setup_settings_admin_nav' ), 2 );
    302299    }
    303300
     
    323320        parent::setup_title();
    324321    }
     322
     323    /**
     324     * Adds "Settings > Profile" subnav item under the "Settings" adminbar menu.
     325     *
     326     * @since BuddyPress (2.0.0)
     327     *
     328     * @param array $wp_admin_nav The settings adminbar nav array.
     329     * @return array
     330     */
     331    public function setup_settings_admin_nav( $wp_admin_nav ) {
     332        // Setup the logged in user variables
     333        $settings_link = trailingslashit( bp_loggedin_user_domain() . bp_get_settings_slug() );
     334
     335        // Add the "Profile" subnav item
     336        $wp_admin_nav[] = array(
     337            'parent' => 'my-account-' . buddypress()->settings->id,
     338            'id'     => 'my-account-' . buddypress()->settings->id . '-profile',
     339            'title'  => __( 'Profile', 'buddypress' ),
     340            'href'   => trailingslashit( $settings_link . 'profile' )
     341        );
     342
     343        return $wp_admin_nav;
     344    }
    325345}
    326346
Note: See TracChangeset for help on using the changeset viewer.