Make WordPress Core


Ignore:
Timestamp:
12/06/2011 03:51:58 AM (13 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.