Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- case 'duplicate':
- //check_admin_referer( SOMETHING HERE );
- //get selected menu information
- $duplicated_nav_menu_id=$nav_menu_selected_id;
- $duplicated_nav_menu = wp_get_nav_menu_object( $nav_menu_selected_id );
- $duplicated_nav_menu_items = wp_get_nav_menu_items($nav_menu_selected_id);
- //$duplicate_nav_menu = wp_duplicate_nav_menu( $nav_menu_selected_id ); //I'd like to have this as a separate function in nav-menu.php in wp-includes.
- //create new menu name -> borrowed from Add New under Update
- $new_menu_title = $duplicated_nav_menu->name.''.rand();
- $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) ); // 0 means create new menu; 2nd arg is an array of menu data
- if ( is_wp_error( $_nav_menu_selected_id ) ) {
- $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>';
- } else {
- if ( ( $_menu_locations = get_registered_nav_menus() ) && 1 == count( wp_get_nav_menus() ) )
- set_theme_mod( 'nav_menu_locations', array( key( $_menu_locations ) => $_nav_menu_selected_id ) );
- unset( $_menu_locations );
- $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id );
- $new_nav_menu_title = $_menu_object->name;
- $_menu_object = wp_get_nav_menu_object( $duplicated_nav_menu_id );
- $nav_menu_selected_title = $_menu_object->name; //duplicated menu name
- $nav_menu_selected_id = $_nav_menu_selected_id; //newly created menu id
- $messages[] = '<div id="message" class="updated"><p>' . sprintf( __('The <strong>%s</strong> menu has been successfully created.'), $new_menu_title ) . '</p></div>';
- }
- //update new menu
- break;
- //after delete-action
- <div class="duplicate-action">
- <a class="submitduplicate duplication menu-duplicate" href="<?php echo esc_url( wp_nonce_url( admin_url('nav-menus.php?action=duplicate&menu=' . $nav_menu_selected_id), 'duplicate-nav_menu-' . $nav_menu_selected_id ) ); ?>"><?php _e('Duplicate Menu'); ?></a>
- </div><!-- END .duplicate-action -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement