Make WordPress Core

Ticket #19425: 19425.3.diff

File 19425.3.diff, 4.1 KB (added by koopersmith, 13 years ago)
  • wp-includes/admin-bar.php

     
    125125}
    126126
    127127/**
    128  * Add the "My Account" menu and all submenus.
     128 * Add the "My Account" item.
    129129 *
     130 * @since 3.3.0
     131 */
     132function wp_admin_bar_my_account_item( $wp_admin_bar ) {
     133        $user_id      = get_current_user_id();
     134        $current_user = wp_get_current_user();
     135        $profile_url  = get_edit_profile_url( $user_id );
     136
     137        if ( ! $user_id )
     138                return;
     139
     140        $avatar = get_avatar( $user_id, 28 );
     141        $howdy  = sprintf( __('Howdy, %1$s'), $current_user->display_name );
     142        $class  = empty( $avatar ) ? '' : 'with-avatar';
     143
     144        $wp_admin_bar->add_menu( array(
     145                'id'        => 'my-account',
     146                'parent'    => 'top-secondary',
     147                'title'     => $howdy . $avatar,
     148                'href'      => $profile_url,
     149                'meta'      => array(
     150                        'class'     => $class,
     151                        'title'     => __('My Account'),
     152                ),
     153        ) );
     154}
     155
     156/**
     157 * Add the "My Account" submenu items.
     158 *
    130159 * @since 3.1.0
    131160 */
    132161function wp_admin_bar_my_account_menu( $wp_admin_bar ) {
     
    134163        $current_user = wp_get_current_user();
    135164        $profile_url  = get_edit_profile_url( $user_id );
    136165
    137         if ( 0 != $user_id ) {
    138                 /* Add the "My Account" menu */
    139                 $avatar = get_avatar( $user_id, 28 );
    140                 $howdy  = sprintf( __('Howdy, %1$s'), $current_user->display_name );
    141                 $class  = empty( $avatar ) ? '' : 'with-avatar';
     166        if ( ! $user_id )
     167                return;
    142168
    143                 $wp_admin_bar->add_menu( array(
    144                         'id'        => 'my-account',
    145                         'parent'    => 'top-secondary',
    146                         'title'     => $howdy . $avatar,
    147                         'href'      => $profile_url,
    148                         'meta'      => array(
    149                                 'class'     => $class,
    150                                 'title'     => __('My Account'),
    151                         ),
    152                 ) );
     169        $user_info  = get_avatar( $user_id, 64 );
     170        $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    153171
    154                 /* Add the "My Account" sub menus */
     172        if ( $current_user->display_name !== $current_user->user_nicename )
     173                $user_info .= "<span class='username'>{$current_user->user_nicename}</span>";
    155174
    156                 $user_info  = get_avatar( $user_id, 64 );
    157                 $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    158 
    159                 if ( $current_user->display_name !== $current_user->user_nicename )
    160                         $user_info .= "<span class='username'>{$current_user->user_nicename}</span>";
    161 
    162                 $wp_admin_bar->add_menu( array(
    163                         'parent' => 'my-account',
    164                         'id'     => 'user-info',
    165                         'title'  => $user_info,
    166                         'href'   => $profile_url,
    167                         'meta'   => array(
    168                                 'tabindex' => -1
    169                         ),
    170                 ) );
    171                 $wp_admin_bar->add_menu( array(
    172                         'parent' => 'my-account',
    173                         'id'     => 'edit-profile',
    174                         'title'  => __( 'Edit My Profile' ),
    175                         'href' => $profile_url,
    176                 ) );
    177                 $wp_admin_bar->add_menu( array(
    178                         'parent' => 'my-account',
    179                         'id'     => 'logout',
    180                         'title'  => __( 'Log Out' ),
    181                         'href'   => wp_logout_url(),
    182                 ) );
    183         }
     175        $wp_admin_bar->add_menu( array(
     176                'parent' => 'my-account',
     177                'id'     => 'user-info',
     178                'title'  => $user_info,
     179                'href'   => $profile_url,
     180                'meta'   => array(
     181                        'tabindex' => -1,
     182                ),
     183        ) );
     184        $wp_admin_bar->add_menu( array(
     185                'parent' => 'my-account',
     186                'id'     => 'edit-profile',
     187                'title'  => __( 'Edit My Profile' ),
     188                'href' => $profile_url,
     189        ) );
     190        $wp_admin_bar->add_menu( array(
     191                'parent' => 'my-account',
     192                'id'     => 'logout',
     193                'title'  => __( 'Log Out' ),
     194                'href'   => wp_logout_url(),
     195        ) );
    184196}
    185197
    186198/**
  • wp-includes/class-wp-admin-bar.php

     
    352352
    353353        public function add_menus() {
    354354                // User related, aligned right.
    355                 add_action( 'admin_bar_menu', 'wp_admin_bar_search_menu', 10 );
    356                 add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 20 );
     355                add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 0 );
     356                add_action( 'admin_bar_menu', 'wp_admin_bar_search_menu', 4 );
     357                add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_item', 7 );
    357358
    358359                // Site related.
    359360                add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );