From d5a6d19f222474c8b160ba8f72f3d2152c9f0a5d Mon Sep 17 00:00:00 2001 From: koopersmith Date: Mon, 23 Apr 2012 23:03:09 +0000 Subject: [PATCH] Theme Customizer: Simplify logic when preparing menu controls. Include instructions to edit menu content in section description. Add string for default state. see #19910. git-svn-id: http://svn.automattic.com/wordpress/trunk@20572 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-customize.php | 32 ++++++++++++++++-------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/wp-includes/class-wp-customize.php b/wp-includes/class-wp-customize.php index f904d8f1c2..87c199e0a9 100644 --- a/wp-includes/class-wp-customize.php +++ b/wp-includes/class-wp-customize.php @@ -632,30 +632,32 @@ final class WP_Customize { 'title' => __( 'Navigation' ), 'theme_supports' => 'menus', 'priority' => 40, - 'description' => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ), + 'description' => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . "\n\n" . __('You can edit your menu content on the Menus screen in the Appearance section.'), ) ); - foreach ( $locations as $location => $description ) { - $choices = array( 0 => '' ); + if ( $menus ) { + $choices = array( 0 => __( '— Select —' ) ); foreach ( $menus as $menu ) { $truncated_name = wp_html_excerpt( $menu->name, 40 ); - $truncated_name == $menu->name ? $menu->name : trim( $truncated_name ) . '…'; + $truncated_name = ( $truncated_name == $menu->name ) ? $menu->name : trim( $truncated_name ) . '…'; $choices[ $menu->term_id ] = $truncated_name; } - $menu_setting_id = "nav_menu_locations[{$location}]"; + foreach ( $locations as $location => $description ) { + $menu_setting_id = "nav_menu_locations[{$location}]"; - $this->add_setting( $menu_setting_id, array( - 'sanitize_callback' => 'absint', - 'theme_supports' => 'menus', - ) ); + $this->add_setting( $menu_setting_id, array( + 'sanitize_callback' => 'absint', + 'theme_supports' => 'menus', + ) ); - $this->add_control( $menu_setting_id, array( - 'label' => $description, - 'section' => 'nav', - 'type' => 'select', - 'choices' => $choices, - ) ); + $this->add_control( $menu_setting_id, array( + 'label' => $description, + 'section' => 'nav', + 'type' => 'select', + 'choices' => $choices, + ) ); + } } /* Static Front Page */