diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php index d02364f035..c322badc8d 100644 --- a/wp-admin/nav-menus.php +++ b/wp-admin/nav-menus.php @@ -74,7 +74,7 @@ switch ( $action ) { // Add Menu if ( isset($_POST['create-menu-button']) ) { - if ( current_theme_supports('nav-menus') ) { + if ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) { $add_nav_menu = esc_html( $_POST['create-menu-name'] ); if ( $add_nav_menu ) { @@ -214,15 +214,21 @@ add_meta_box( 'create-menu', __('Create Menu'), 'wp_nav_menu_create_metabox', 'n // The user has no menus. if ( !is_nav_menu( $nav_menu_selected_id ) ) { $messages_div = '

' . __('You do not have any menus. Create a new menu.') . '

'; - + // The theme supports menus } elseif ( current_theme_supports('nav-menus') ) { - // Register nav menu metaboxes add_meta_box( 'manage-menu', __( 'Menu Settings' ), 'wp_nav_menu_manage_menu_metabox', 'nav-menus', 'side', 'high', array( $nav_menu_selected_id, $nav_menu_selected_title ) ); wp_nav_menu_metaboxes_setup(); -// The theme does not support menus +// The theme does not support menus but supports widgets +} elseif ( current_theme_supports('widgets') ) { + // Register nav menu metaboxes + add_meta_box( 'manage-menu', __( 'Menu Settings' ), 'wp_nav_menu_manage_menu_metabox', 'nav-menus', 'side', 'high', array( $nav_menu_selected_id, $nav_menu_selected_title ) ); + wp_nav_menu_metaboxes_setup(); + $messages_div = '

' . __('The current theme does not natively support menus, but you can use the “Navigation Menu” widget to add any menus you create here to the theme’s sidebar.') . '

'; + +// The theme supports neither menus nor widgets. } else { remove_meta_box( 'create-menu', 'nav-menus', 'side' ); $messages_div = '

' . __('The current theme does not support menus.') . '

'; @@ -237,7 +243,7 @@ require_once( 'admin-header.php' );

- 1 && current_theme_supports('nav-menus') ) : ?> + 1 && ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) ) : ?>