Make WordPress Core


Ignore:
Timestamp:
12/06/2011 03:51:58 AM (15 years ago)
Author:
ryan
Message:

Introduce user-actions group and move profile and logout menu items to it and change priority. Props koopersmith. fixes #19425

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/admin-bar.php

    r19549 r19559  
    126126
    127127/**
    128  * Add the "My Account" menu and all submenus.
     128 * Add the "My Account" item.
     129 *
     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, 16 );
     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.
    129158 *
    130159 * @since 3.1.0
     
    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, 16 );
    140                 $howdy  = sprintf( __('Howdy, %1$s'), $current_user->display_name );
    141                 $class  = empty( $avatar ) ? '' : 'with-avatar';
    142 
    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                 ) );
    153 
    154                 /* Add the "My Account" sub menus */
    155 
    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         }
     166        if ( ! $user_id )
     167                return;
     168
     169        $wp_admin_bar->add_group( array(
     170                'parent' => 'my-account',
     171                'id'     => 'user-actions',
     172        ) );
     173
     174        $user_info  = get_avatar( $user_id, 64 );
     175        $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
     176
     177        if ( $current_user->display_name !== $current_user->user_nicename )
     178                $user_info .= "<span class='username'>{$current_user->user_nicename}</span>";
     179
     180        $wp_admin_bar->add_menu( array(
     181                'parent' => 'user-actions',
     182                'id'     => 'user-info',
     183                'title'  => $user_info,
     184                'href'   => $profile_url,
     185                'meta'   => array(
     186                        'tabindex' => -1,
     187                ),
     188        ) );
     189        $wp_admin_bar->add_menu( array(
     190                'parent' => 'user-actions',
     191                'id'     => 'edit-profile',
     192                'title'  => __( 'Edit My Profile' ),
     193                'href' => $profile_url,
     194        ) );
     195        $wp_admin_bar->add_menu( array(
     196                'parent' => 'user-actions',
     197                'id'     => 'logout',
     198                'title'  => __( 'Log Out' ),
     199                'href'   => wp_logout_url(),
     200        ) );
    184201}
    185202
Note: See TracChangeset for help on using the changeset viewer.