|
15 | 15 | // Load all the nav menu interface functions |
16 | 16 | require_once( ABSPATH . 'wp-admin/includes/nav-menu.php' ); |
17 | 17 |
|
| 18 | +if ( ! current_theme_supports( 'nav-menus' ) && ! current_theme_supports( 'widgets' ) ) |
| 19 | + wp_die( __( 'Your theme does not support navigation menus or widgets.' ) ); |
| 20 | + |
18 | 21 | // Permissions Check |
19 | 22 | if ( ! current_user_can('edit_theme_options') ) |
20 | 23 | wp_die( __( 'Cheatin’ uh?' ) ); |
|
270 | 273 | case 'update': |
271 | 274 | check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' ); |
272 | 275 |
|
| 276 | + // Update menu theme locations |
| 277 | + set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] ); |
| 278 | + |
273 | 279 | // Add Menu |
274 | 280 | if ( 0 == $nav_menu_selected_id ) { |
275 | | - if ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) { |
276 | | - $new_menu_title = esc_html( $_POST['menu-name'] ); |
| 281 | + $new_menu_title = esc_html( $_POST['menu-name'] ); |
277 | 282 |
|
278 | | - if ( $new_menu_title ) { |
279 | | - $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) ); |
| 283 | + if ( $new_menu_title ) { |
| 284 | + $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) ); |
280 | 285 |
|
281 | | - if ( is_wp_error( $_nav_menu_selected_id ) ) { |
282 | | - $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>'; |
283 | | - } else { |
284 | | - if ( ( $_menu_locations = get_registered_nav_menus() ) && 1 == count( wp_get_nav_menus() ) ) |
285 | | - set_theme_mod( 'nav_menu_locations', array( key( $_menu_locations ) => $_nav_menu_selected_id ) ); |
286 | | - unset( $_menu_locations ); |
287 | | - $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id ); |
288 | | - $nav_menu_selected_id = $_nav_menu_selected_id; |
289 | | - $nav_menu_selected_title = $_menu_object->name; |
290 | | - $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been successfully created.'), $nav_menu_selected_title ) . '</p></div>'; |
291 | | - } |
| 286 | + if ( is_wp_error( $_nav_menu_selected_id ) ) { |
| 287 | + $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>'; |
292 | 288 | } else { |
293 | | - $messages[] = '<div id="message" class="error"><p>' . __('Please enter a valid menu name.') . '</p></div>'; |
| 289 | + if ( ( $_menu_locations = get_registered_nav_menus() ) && 1 == count( wp_get_nav_menus() ) ) |
| 290 | + set_theme_mod( 'nav_menu_locations', array( key( $_menu_locations ) => $_nav_menu_selected_id ) ); |
| 291 | + unset( $_menu_locations ); |
| 292 | + $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id ); |
| 293 | + $nav_menu_selected_id = $_nav_menu_selected_id; |
| 294 | + $nav_menu_selected_title = $_menu_object->name; |
| 295 | + $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been successfully created.'), $nav_menu_selected_title ) . '</p></div>'; |
294 | 296 | } |
| 297 | + } else { |
| 298 | + $messages[] = '<div id="message" class="error"><p>' . __('Please enter a valid menu name.') . '</p></div>'; |
295 | 299 | } |
296 | 300 |
|
297 | 301 | // update existing menu |
|
425 | 429 | echo $message . "\n"; |
426 | 430 | endforeach; |
427 | 431 | ?> |
428 | | - |
429 | | - <?php if ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) : ?> |
430 | 432 | <div id="nav-menus-frame"> |
431 | 433 | <div id="menu-settings-column" class="metabox-holder"> |
432 | 434 |
|
|
517 | 519 | </div><!--END #nav-menu-header--> |
518 | 520 | <div id="post-body"> |
519 | 521 | <div id="post-body-content"> |
520 | | - <?php if ( is_nav_menu( $nav_menu_selected_id ) && ( current_theme_supports('nav-menus') || current_theme_supports('widgets') ) ) : ?> |
| 522 | + <?php if ( is_nav_menu( $nav_menu_selected_id ) ) : ?> |
521 | 523 | <ul class="menu" id="menu-to-edit"> |
522 | 524 | <?php |
523 | 525 | $edit_markup = wp_get_nav_menu_to_edit( $nav_menu_selected_id ); |
|
542 | 544 | </div><!-- /#menu-management --> |
543 | 545 | </div><!-- /#menu-management-liquid --> |
544 | 546 | </div><!-- /#nav-menus-frame--> |
545 | | - <?php endif; // if menus supported in current theme ?> |
546 | 547 | </div><!-- /.wrap--> |
547 | 548 |
|
548 | 549 |
|
|
0 commit comments