WordPress.org

Make WordPress Core

Changeset 33130


Ignore:
Timestamp:
07/08/2015 08:02:44 PM (6 years ago)
Author:
helen
Message:

Toolbar: Disambiguate links to the dashboard vs. to the customizer.

All links in the site name menu now point to admin screens, and Customize is its own top-level link. This makes it clear which context you are about to enter.

fixes #32924. see #32678.

Location:
trunk/src/wp-includes
Files:
3 edited

Legend:

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

    r32917 r33130  
    317317        wp_admin_bar_appearance_menu( $wp_admin_bar );
    318318    }
     319}
     320
     321/**
     322 * Add the "Customize" link.
     323 *
     324 * @since 4.3.0
     325 *
     326 * @param WP_Admin_Bar $wp_admin_bar
     327 */
     328function wp_admin_bar_customize_menu( $wp_admin_bar ) {
     329    // Don't show for users who can't access the customizer.
     330    if ( ! current_user_can( 'customize' ) ) {
     331        return;
     332    }
     333
     334    $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
     335    $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
     336
     337    $wp_admin_bar->add_menu( array(
     338        'id'     => 'customize',
     339        'title'  => __( 'Customize' ),
     340        'href'   => $customize_url,
     341        'meta'   => array(
     342            'class' => 'hide-if-no-customize',
     343        ),
     344    ) );
     345    add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
    319346}
    320347
     
    665692    $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
    666693
    667     $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    668     $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
    669 
    670694    if ( current_user_can( 'switch_themes' ) ) {
    671695        $wp_admin_bar->add_menu( array(
     
    674698            'title'  => __( 'Themes' ),
    675699            'href'   => admin_url( 'themes.php' ),
    676             'meta'   => array(
    677                 'class' => 'hide-if-customize',
    678             ),
    679         ) );
    680 
    681         if ( current_user_can( 'customize' ) ) {
    682             $wp_admin_bar->add_menu( array(
    683                 'parent' => 'appearance',
    684                 'id'     => 'customize-themes',
    685                 'title'  => __( 'Themes' ),
    686                 'href'   => add_query_arg( urlencode( 'autofocus[section]' ), 'themes', $customize_url ), // urlencode() needed due to #16859
    687                 'meta'   => array(
    688                     'class' => 'hide-if-no-customize',
    689                 ),
    690             ) );
    691         }
    692     }
    693 
    694     if ( current_user_can( 'customize' ) ) {
    695         $wp_admin_bar->add_menu( array(
    696             'parent' => 'appearance',
    697             'id'     => 'customize',
    698             'title'  => __('Customize'),
    699             'href'   => $customize_url,
    700             'meta'   => array(
    701                 'class' => 'hide-if-no-customize',
    702             ),
    703         ) );
    704         add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
     700        ) );
    705701    }
    706702
     
    715711            'title'  => __( 'Widgets' ),
    716712            'href'   => admin_url( 'widgets.php' ),
    717             'meta'   => array(
    718                 'class' => 'hide-if-customize',
    719             ),
    720         ) );
    721 
    722         if ( current_user_can( 'customize' ) ) {
    723             $wp_admin_bar->add_menu( array(
    724                 'parent' => 'appearance',
    725                 'id'     => 'customize-widgets',
    726                 'title'  => __( 'Widgets' ),
    727                 'href'   => add_query_arg( urlencode( 'autofocus[panel]' ), 'widgets', $customize_url ), // urlencode() needed due to #16859
    728                 'meta'   => array(
    729                     'class' => 'hide-if-no-customize',
    730                 ),
    731             ) );
    732         }
     713        ) );
    733714    }
    734715
     
    746727            ),
    747728        ) );
    748 
    749         if ( current_user_can( 'customize' ) ) {
    750             $wp_admin_bar->add_menu( array(
    751                 'parent' => 'appearance',
    752                 'id'     => 'customize-background',
    753                 'title'  => __( 'Background' ),
    754                 'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'background_image', $customize_url ), // urlencode() needed due to #16859
    755                 'meta'   => array(
    756                     'class' => 'hide-if-no-customize',
    757                 ),
    758             ) );
    759         }
    760729    }
    761730
     
    770739            ),
    771740        ) );
    772 
    773         if ( current_user_can( 'customize' ) ) {
    774             $wp_admin_bar->add_menu( array(
    775                 'parent' => 'appearance',
    776                 'id'     => 'customize-header',
    777                 'title'  => __( 'Header' ),
    778                 'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'header_image', $customize_url ), // urlencode() needed due to #16859
    779                 'meta'   => array(
    780                     'class' => 'hide-if-no-customize',
    781                 ),
    782             ) );
    783         }
    784741    }
    785742
  • trunk/src/wp-includes/class-wp-admin-bar.php

    r32657 r33130  
    557557        add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
    558558        add_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 );
    559         add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 40 );
     559        add_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 40 );
     560        add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 50 );
    560561
    561562        // Content related.
  • trunk/src/wp-includes/css/admin-bar.css

    r33056 r33130  
    521521    top: 2px;
    522522}
     523
     524#wpadminbar #wp-admin-bar-customize > .ab-item:before {
     525    content: '\f540';
     526    top: 2px;
     527}
     528
    523529
    524530#wpadminbar #wp-admin-bar-edit > .ab-item:before {
     
    883889    #wpadminbar #wp-admin-bar-my-sites > .ab-item,
    884890    #wpadminbar #wp-admin-bar-site-name > .ab-item,
     891    #wpadminbar #wp-admin-bar-customize > .ab-item,
    885892    #wpadminbar #wp-admin-bar-edit > .ab-item,
    886893    #wpadminbar #wp-admin-bar-my-account > .ab-item {
     
    904911    #wpadminbar #wp-admin-bar-my-sites > .ab-item:before,
    905912    #wpadminbar #wp-admin-bar-site-name > .ab-item:before,
     913    #wpadminbar #wp-admin-bar-customize > .ab-item:before,
    906914    #wpadminbar #wp-admin-bar-my-account > .ab-item:before {
    907915        display: block;
     
    10171025    #wpadminbar li#wp-admin-bar-updates,
    10181026    #wpadminbar li#wp-admin-bar-site-name,
     1027    #wpadminbar li#wp-admin-bar-customize,
    10191028    #wpadminbar li#wp-admin-bar-new-content,
    10201029    #wpadminbar li#wp-admin-bar-edit,
     
    11311140    }
    11321141}
     1142
     1143/* Very narrow screens */
     1144@media screen and (max-width: 400px) {
     1145    #wpadminbar li#wp-admin-bar-comments {
     1146        display: none;
     1147    }
     1148}
Note: See TracChangeset for help on using the changeset viewer.