From 3c374b177ce576146f958d7ec3684673cac3fc5c Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Fri, 29 Oct 2010 15:26:36 +0000 Subject: [PATCH] Add Appearance menu to admin bar. see #14772 git-svn-id: https://develop.svn.wordpress.org/trunk@16078 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/admin-bar.php | 18 ++++++++++++++++++ wp-includes/admin-bar/admin-bar-class.php | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/wp-includes/admin-bar.php b/wp-includes/admin-bar.php index e711c8053a..a4678214b1 100644 --- a/wp-includes/admin-bar.php +++ b/wp-includes/admin-bar.php @@ -227,6 +227,24 @@ function wp_admin_bar_comments_menu() { $wp_admin_bar->add_menu( array( 'id' => 'comments', 'title' => sprintf( __('Comments %s'), "" . number_format_i18n($awaiting_mod) . "" ), 'href' => admin_url('comments.php') ) ); } +function wp_admin_bar_appearance_menu() { + global $wp_admin_bar; + + if ( !current_user_can('switch themes') ) + return; + + $wp_admin_bar->add_menu( array( 'id' => 'appearance', 'title' => __('Appearance'), 'href' => admin_url('themes.php') ) ); + + if ( !current_user_can('edit_theme_options') ) + return; + + if ( current_theme_supports( 'widgets' ) ) + $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) ); + + if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) + $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) ); +} + /** * Style and scripts for the admin bar. * diff --git a/wp-includes/admin-bar/admin-bar-class.php b/wp-includes/admin-bar/admin-bar-class.php index 67acf32a84..7603dd9af1 100644 --- a/wp-includes/admin-bar/admin-bar-class.php +++ b/wp-includes/admin-bar/admin-bar-class.php @@ -181,7 +181,8 @@ class WP_Admin_Bar { add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_edit_menu', 40 ); add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_new_content_menu', 50 ); add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_comments_menu', 60 ); - add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_shortlink_menu', 70 ); + add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_appearance_menu', 70 ); + add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_shortlink_menu', 80 ); if ( is_multisite() && is_super_admin() && function_exists('wp_admin_bar_superadmin_settings_menu') ) add_action( 'wp_before_admin_bar_render', 'wp_admin_bar_superadmin_settings_menu', 1000 );