WordPress Version: 4.2
/**
* Add appearance submenu items to the "Site Name" menu.
*
* @since 3.1.0
*
* @param WP_Admin_Bar $wp_admin_bar
*/
function wp_admin_bar_appearance_menu($wp_admin_bar)
{
$wp_admin_bar->add_group(array('parent' => 'site-name', 'id' => 'appearance'));
$current_url = (is_ssl() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$customize_url = add_query_arg('url', urlencode($current_url), wp_customize_url());
if (current_user_can('switch_themes')) {
$wp_admin_bar->add_menu(array('parent' => 'appearance', 'id' => 'themes', 'title' => __('Themes'), 'href' => admin_url('themes.php'), 'meta' => array('class' => 'hide-if-customize')));
if (current_user_can('customize')) {
$wp_admin_bar->add_menu(array(
'parent' => 'appearance',
'id' => 'customize-themes',
'title' => __('Themes'),
'href' => add_query_arg(urlencode('autofocus[section]'), 'themes', $customize_url),
// urlencode() needed due to #16859
'meta' => array('class' => 'hide-if-no-customize'),
));
}
}
if (current_user_can('customize')) {
$wp_admin_bar->add_menu(array('parent' => 'appearance', 'id' => 'customize', 'title' => __('Customize'), 'href' => $customize_url, 'meta' => array('class' => 'hide-if-no-customize')));
add_action('wp_before_admin_bar_render', 'wp_customize_support_script');
}
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'), 'meta' => array('class' => 'hide-if-customize')));
if (current_user_can('customize')) {
$wp_admin_bar->add_menu(array(
'parent' => 'appearance',
'id' => 'customize-widgets',
'title' => __('Widgets'),
'href' => add_query_arg(urlencode('autofocus[panel]'), 'widgets', $customize_url),
// urlencode() needed due to #16859
'meta' => array('class' => 'hide-if-no-customize'),
));
}
}
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')));
}
if (current_theme_supports('custom-background')) {
$wp_admin_bar->add_menu(array('parent' => 'appearance', 'id' => 'background', 'title' => __('Background'), 'href' => admin_url('themes.php?page=custom-background'), 'meta' => array('class' => 'hide-if-customize')));
if (current_user_can('customize')) {
$wp_admin_bar->add_menu(array(
'parent' => 'appearance',
'id' => 'customize-background',
'title' => __('Background'),
'href' => add_query_arg(urlencode('autofocus[control]'), 'background_image', $customize_url),
// urlencode() needed due to #16859
'meta' => array('class' => 'hide-if-no-customize'),
));
}
}
if (current_theme_supports('custom-header')) {
$wp_admin_bar->add_menu(array('parent' => 'appearance', 'id' => 'header', 'title' => __('Header'), 'href' => admin_url('themes.php?page=custom-header'), 'meta' => array('class' => 'hide-if-customize')));
if (current_user_can('customize')) {
$wp_admin_bar->add_menu(array(
'parent' => 'appearance',
'id' => 'customize-header',
'title' => __('Header'),
'href' => add_query_arg(urlencode('autofocus[control]'), 'header_image', $customize_url),
// urlencode() needed due to #16859
'meta' => array('class' => 'hide-if-no-customize'),
));
}
}
}