Ticket #17221: 17221.2.diff
File 17221.2.diff, 3.1 KB (added by , 14 years ago) |
---|
-
wp-admin/admin-ajax.php
784 784 if ( is_wp_error( $item_ids ) ) 785 785 die('-1'); 786 786 787 $post_parent_ids = array(); 787 788 foreach ( (array) $item_ids as $menu_item_id ) { 788 789 $menu_obj = get_post( $menu_item_id ); 789 790 if ( ! empty( $menu_obj->ID ) ) { 790 791 $menu_obj = wp_setup_nav_menu_item( $menu_obj ); 791 792 $menu_obj->label = $menu_obj->title; // don't show "(pending)" in ajax-added items 792 793 $menu_items[] = $menu_obj; 794 $post_parent_ids[$menu_obj->object_id] = $menu_obj->db_id; 793 795 } 794 796 } 795 797 … … 799 801 'before' => '', 800 802 'link_after' => '', 801 803 'link_before' => '', 802 'walker' => new Walker_Nav_Menu_Edit ,804 'walker' => new Walker_Nav_Menu_Edit( array( 'id' => 'object_id', 'parent' => 'post_parent', 'parent_ids' => $post_parent_ids ) ), 803 805 ); 804 806 echo walk_nav_menu_tree( $menu_items, 0, (object) $args ); 805 807 } -
wp-admin/includes/nav-menu.php
8 8 * @uses Walker_Nav_Menu 9 9 */ 10 10 class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { 11 12 function __construct( $fields = false ) { 13 if ( $fields ) 14 $this->db_fields = $fields; 15 } 16 11 17 /** 12 18 * @see Walker_Nav_Menu::start_lvl() 13 19 * @since 3.0.0 … … 74 80 } 75 81 76 82 $title = empty( $item->label ) ? $title : $item->label; 83 if ( $this->db_fields['parent'] == 'menu_item_parent' ) { 84 $menu_item_parent = $item->menu_item_parent; 85 } else if ( isset( $this->db_fields['parent_ids'][$item->post_parent] ) ) { 86 $menu_item_parent = $this->db_fields['parent_ids'][$item->post_parent]; 87 } else { 88 $menu_item_parent = 0; 89 } 77 90 78 91 ?> 79 92 <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>"> … … 189 202 <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?>]" value="<?php echo $item_id; ?>" /> 190 203 <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object_id ); ?>" /> 191 204 <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object ); ?>" /> 192 <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $ item->menu_item_parent ); ?>" />205 <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item_parent ); ?>" /> 193 206 <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->menu_order ); ?>" /> 194 207 <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->type ); ?>" /> 195 208 </div><!-- .menu-item-settings-->