WordPress.org

Make WordPress Core


Ignore:
Timestamp:
09/16/11 05:01:54 (6 years ago)
Author:
koopersmith
Message:

Admin bar UX improvements. First pass, see #18197

File:
1 edited

Legend:

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

    r18468 r18683  
    8383    if ( 0 != $user_id ) { 
    8484        /* Add the 'My Account' menu */ 
    85         $avatar = get_avatar( get_current_user_id(), 16 ); 
    86         $id = ( ! empty( $avatar ) ) ? 'my-account-with-avatar' : 'my-account'; 
    87  
    88         $wp_admin_bar->add_menu( array( 'id' => $id, 'title' => $avatar . $user_identity,  'href' => get_edit_profile_url( $user_id ) ) ); 
     85        $avatar = get_avatar( get_current_user_id(), 28 ); 
     86        $id     = ( ! empty( $avatar ) ) ? 'my-account-with-avatar' : 'my-account'; 
     87        $howdy  = sprintf( __('Howdy, %1$s'), $user_identity ); 
     88 
     89        $wp_admin_bar->add_menu( array( 'id' => $id, 'title' => $howdy . $avatar,  'href' => get_edit_profile_url( $user_id ) ) ); 
    8990 
    9091        /* Add the "My Account" sub menus */ 
     
    9596 
    9697/** 
    97  * Add the "Dashboard"/"Visit Site" menu. 
    98  * 
    99  * @since 3.2.0 
    100  */ 
    101 function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) { 
    102     $user_id = get_current_user_id(); 
    103  
    104     if ( 0 != $user_id ) { 
    105         if ( is_admin() ) 
    106             $wp_admin_bar->add_menu( array( 'id' => 'view-site', 'title' => __( 'Visit Site' ), 'href' => home_url() ) ); 
    107         elseif ( is_multisite() ) 
    108             $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => get_dashboard_url( $user_id ) ) ); 
    109         else 
    110             $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => admin_url() ) ); 
    111     } 
     98 * Add the "Blog Name" menu in the front end. 
     99 * 
     100 * @since 3.3.0 
     101 */ 
     102function wp_admin_bar_blog_front_menu( $wp_admin_bar ) { 
     103    $blogname = get_bloginfo('name'); 
     104 
     105    if ( empty( $blogname ) ) 
     106        $blogname = preg_replace( '#^(https?://)?(www.)?#', '', get_home_url() ); 
     107 
     108 
     109    $wp_admin_bar->add_menu( array( 
     110        'id'    => 'blog-name', 
     111        'title' => $blogname, 
     112        'href'  => admin_url(), 
     113    ) ); 
     114 
     115    // Add Dashboard item. 
     116    $wp_admin_bar->add_menu( array( 
     117        'id'     => 'dashboard', 
     118        'title'  => __( 'Dashboard' ), 
     119        'href'   => admin_url(), 
     120        'parent' => 'blog-name', 
     121    ) ); 
     122 
     123    wp_admin_bar_appearance_menu( $wp_admin_bar ); 
     124} 
     125 
     126/** 
     127 * Add the "Blog Name" menu in the admin. 
     128 * 
     129 * @since 3.3.0 
     130 */ 
     131function wp_admin_bar_blog_admin_menu( $wp_admin_bar ) { 
     132    global $current_site; 
     133 
     134    if ( is_network_admin() ) { 
     135        $title = sprintf( __('Network Admin: %s'), esc_html($current_site->site_name) ); 
     136        $url   = '#'; 
     137    } elseif ( is_user_admin() ) { 
     138        $title = sprintf( __('Global Dashboard: %s'), esc_html($current_site->site_name) ); 
     139        $url   = '#'; 
     140    } else { 
     141        $title = get_bloginfo('name'); 
     142        $url   = get_home_url(); 
     143 
     144        if ( empty( $title ) ) 
     145            $title = preg_replace( '#^(https?://)?(www.)?#', '', $url ); 
     146    } 
     147 
     148    $wp_admin_bar->add_menu( array( 
     149        'id'    => 'blog-name', 
     150        'title' => $title, 
     151        'href'  => $url, 
     152    ) ); 
    112153} 
    113154 
     
    121162 
    122163    /* Add the 'My Sites' menu if the user has more than one site. */ 
    123     if ( count( $wp_admin_bar->user->blogs ) <= 1 ) 
    124         return; 
    125  
    126     $wp_admin_bar->add_menu( array(  'id' => 'my-blogs', 'title' => __( 'My Sites' ),  'href' => admin_url( 'my-sites.php' ) ) ); 
    127  
    128     $default = includes_url('images/wpmini-blue.png'); 
     164    // if ( count( $wp_admin_bar->user->blogs ) <= 1 ) 
     165    //  return; 
     166 
     167    $grey_wp_logo_url = admin_url( 'images/wp-logo.png' ); 
     168 
     169    $grey_wp_logo = '<img src="' . esc_url( $grey_wp_logo_url ) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>'; 
     170 
     171    if ( is_multisite() ) 
     172        $url = admin_url( 'my-sites.php' ); 
     173    else 
     174        $url = admin_url(); 
     175 
     176    $wp_admin_bar->add_menu( array( 
     177        'id'    => 'my-blogs', 
     178        'title' => $grey_wp_logo, 
     179        'href'  => $url, 
     180    ) ); 
     181 
     182    // Add network admin link 
     183    if ( is_multisite() && is_super_admin() && ! is_network_admin() ) { 
     184        $wp_admin_bar->add_menu( array( 
     185            'parent' => 'my-blogs', 
     186            'id'     => 'network-admin', 
     187            'title'  => __('Network Admin'), 
     188            'href'   => network_admin_url(), 
     189        ) ); 
     190    } 
     191 
     192    // Add blog links 
     193    $blue_wp_logo_url = includes_url('images/wpmini-blue.png'); 
    129194 
    130195    foreach ( (array) $wp_admin_bar->user->blogs as $blog ) { 
     196        // Skip the current blog. 
     197        if ( $blog->userblog_id == $wp_admin_bar->user->active_blog->blog_id ) 
     198            continue; 
     199 
    131200        // @todo Replace with some favicon lookup. 
    132         //$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $default ) ) . '" alt="Blavatar" width="16" height="16" />'; 
    133         $blavatar = '<img src="' . esc_url($default) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>'; 
     201        //$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $blue_wp_logo_url ) ) . '" alt="Blavatar" width="16" height="16" />'; 
     202        $blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>'; 
    134203 
    135204        $blogname = empty( $blog->blogname ) ? $blog->domain : $blog->blogname; 
     
    145214        $wp_admin_bar->add_menu( array( 'parent' => 'blog-' . $blog->userblog_id, 'id' => 'blog-' . $blog->userblog_id . '-v', 'title' => __( 'Visit Site' ), 'href' => get_home_url($blog->userblog_id) ) ); 
    146215    } 
     216 
     217    // Add WordPress.org link 
     218    $wp_admin_bar->add_menu( array( 
     219        'parent' => 'my-blogs', 
     220        'id'     => 'wporg', 
     221        'title'  => __('WordPress.org'), 
     222        'href'   => 'http://wordpress.org', 
     223    ) ); 
    147224} 
    148225 
     
    281358 
    282359    $awaiting_mod = wp_count_comments(); 
    283     $awaiting_mod = $awaiting_mod->moderated; 
    284  
    285     $awaiting_mod = $awaiting_mod ? "<span id='ab-awaiting-mod' class='pending-count'>" . number_format_i18n( $awaiting_mod ) . "</span>" : ''; 
    286     $wp_admin_bar->add_menu( array( 'id' => 'comments', 'title' => sprintf( __('Comments %s'), $awaiting_mod ), 'href' => admin_url('edit-comments.php') ) ); 
     360    $awaiting_mod = number_format_i18n( $awaiting_mod->moderated ); 
     361 
     362    $bubble  = "<div class='ab-comments-bubble'>"; 
     363    $bubble .= "<div class='ab-comments-count'>$awaiting_mod</div>"; 
     364    $bubble .= "<div class='ab-comments-arrow'></div>"; 
     365    $bubble .= "</div>"; 
     366 
     367    $wp_admin_bar->add_menu( array( 
     368        'id'    => 'comments', 
     369        'title' => $bubble, 
     370        'href'  => admin_url('edit-comments.php'), 
     371    ) ); 
    287372} 
    288373 
     
    297382        return; 
    298383 
    299     $wp_admin_bar->add_menu( array( 'id' => 'appearance', 'title' => __('Appearance'), 'href' => admin_url('themes.php') ) ); 
     384    $wp_admin_bar->add_menu( array( 
     385        'id'     => 'appearance', 
     386        'title'  => __('Appearance'), 
     387        'href'   => admin_url('themes.php'), 
     388        'parent' => 'blog-name', 
     389    ) ); 
    300390 
    301391    if ( ! current_user_can( 'edit_theme_options' ) ) 
     
    335425 
    336426    $wp_admin_bar->add_menu( array( 'id' => 'updates', 'title' => $update_title, 'href' => network_admin_url( 'update-core.php' ) ) ); 
     427} 
     428 
     429/** 
     430 * Add screen options link. 
     431 * 
     432 * @since 3.3.0 
     433 */ 
     434function wp_admin_bar_screen_options_menu( $wp_admin_bar ) { 
     435    $wp_admin_bar->add_menu( array( 
     436        'id'    => 'screen-options', 
     437        'title' => __('Screen Options'), 
     438        'href'  => '#', 
     439        'meta'  => array( 
     440            'class' => 'screen-meta-toggle hide-if-no-js', 
     441        ), 
     442    ) ); 
     443} 
     444 
     445/** 
     446 * Add help link. 
     447 * 
     448 * @since 3.3.0 
     449 */ 
     450function wp_admin_bar_help_menu( $wp_admin_bar ) { 
     451    $wp_admin_bar->add_menu( array( 
     452        'id'    => 'help', 
     453        'title' => __('Help'), 
     454        'href'  => '#', 
     455        'meta'  => array( 
     456            'class' => 'screen-meta-toggle hide-if-no-js', 
     457        ), 
     458    ) ); 
     459} 
     460 
     461/** 
     462 * Add search form. 
     463 * 
     464 * @since 3.3.0 
     465 */ 
     466function wp_admin_bar_search_menu( $wp_admin_bar ) { 
     467    $form  = '<div id="adminbarsearch-wrap">'; 
     468    $form .= '<form action="' . home_url() . '" method="get" id="adminbarsearch">'; 
     469    $form .= '<input class="adminbar-input" name="s" id="adminbar-search"'; 
     470    $form .= 'type="text" value="" maxlength="150" placeholder="' . esc_attr__( 'Search' ) . '" />'; 
     471    $form .= '<input type="submit" class="adminbar-button" value="' . __('Search') . '"/>'; 
     472    $form .= '</form>'; 
     473    $form .= '</div>'; 
     474 
     475    $wp_admin_bar->add_menu( array( 
     476        'id'    => 'search', 
     477        'title' => $form, 
     478        'href'  => '#', 
     479        'meta'  => array( 
     480            'class'   => 'admin-bar-search', 
     481            // @TODO: Replace me with something far less hacky 
     482            'onclick' => 'if ( event.target.value != "Search" ) { return false; }', 
     483        ), 
     484    ) ); 
    337485} 
    338486 
Note: See TracChangeset for help on using the changeset viewer.