WordPress.org

Make WordPress Core

Changeset 16105


Ignore:
Timestamp:
10/30/10 22:41:52 (3 years ago)
Author:
scribu
Message:

Fix regression introduced by [16096]. Props duck_. See #14415

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-ajax.php

    r16104 r16105  
    747747    // The following is a hacky way to restore them when adding non-custom items. 
    748748 
    749     $menu_items_data = (array) $_POST['menu-item']; 
    750     $menu_item_data = array_shift( $menu_items_data );  
    751     if (  
    752         ! empty( $menu_item_data['menu-item-type'] ) &&  
    753         'custom' != $menu_item_data['menu-item-type'] && 
    754         ! empty( $menu_item_data['menu-item-object-id'] ) 
    755     ) { 
    756         switch( $menu_item_data['menu-item-type'] ) { 
    757             case 'post_type' : 
    758                 $_object = get_post( $menu_item_data['menu-item-object-id'] ); 
    759             break; 
    760  
    761             case 'taxonomy' : 
    762                 $_object = get_term( $menu_item_data['menu-item-object-id'], $menu_item_data['menu-item-object'] );  
    763             break; 
    764         } 
    765  
    766         $_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) );  
    767         $_menu_item = array_shift( $_menu_items ); 
    768  
    769         // Restore the missing menu item properties 
    770         $menu_item_data['menu-item-description'] = $_menu_item->description; 
    771     } 
    772  
    773     $menu_items_data = array( $menu_item_data ); 
     749    $menu_items_data = array(); 
     750    foreach ( (array) $_POST['menu-item'] as $menu_item_data ) { 
     751        if ( 
     752            ! empty( $menu_item_data['menu-item-type'] ) &&  
     753            'custom' != $menu_item_data['menu-item-type'] && 
     754            ! empty( $menu_item_data['menu-item-object-id'] ) 
     755        ) { 
     756            switch( $menu_item_data['menu-item-type'] ) { 
     757                case 'post_type' : 
     758                    $_object = get_post( $menu_item_data['menu-item-object-id'] ); 
     759                break; 
     760 
     761                case 'taxonomy' : 
     762                    $_object = get_term( $menu_item_data['menu-item-object-id'], $menu_item_data['menu-item-object'] );  
     763                break; 
     764            } 
     765 
     766            $_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) );  
     767            $_menu_item = array_shift( $_menu_items ); 
     768 
     769            // Restore the missing menu item properties 
     770            $menu_item_data['menu-item-description'] = $_menu_item->description; 
     771        } 
     772         
     773        $menu_items_data[] = $menu_item_data; 
     774    }    
    774775 
    775776    $item_ids = wp_save_nav_menu_items( 0, $menu_items_data ); 
Note: See TracChangeset for help on using the changeset viewer.