|  | @@ 787-810 (lines=24) @@ | 
                                                            
                                    | 784 |  | 		} else { | 
                                                            
                                    | 785 |  |  | 
                                                            
                                    | 786 |  | 			// Handle saving menu items for menus that are being newly-created. | 
                                                            
                                    | 787 |  | 			if ( $value['nav_menu_term_id'] < 0 ) { | 
                                                            
                                    | 788 |  | 				$nav_menu_setting_id = sprintf( 'nav_menu[%s]', $value['nav_menu_term_id'] ); | 
                                                            
                                    | 789 |  | 				$nav_menu_setting    = $this->manager->get_setting( $nav_menu_setting_id ); | 
                                                            
                                    | 790 |  |  | 
                                                            
                                    | 791 |  | 				if ( ! $nav_menu_setting || ! ( $nav_menu_setting instanceof WP_Customize_Nav_Menu_Setting ) ) { | 
                                                            
                                    | 792 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 793 |  | 					$this->update_error  = new WP_Error( 'unexpected_nav_menu_setting' ); | 
                                                            
                                    | 794 |  | 					return; | 
                                                            
                                    | 795 |  | 				} | 
                                                            
                                    | 796 |  |  | 
                                                            
                                    | 797 |  | 				if ( false === $nav_menu_setting->save() ) { | 
                                                            
                                    | 798 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 799 |  | 					$this->update_error  = new WP_Error( 'nav_menu_setting_failure' ); | 
                                                            
                                    | 800 |  | 					return; | 
                                                            
                                    | 801 |  | 				} | 
                                                            
                                    | 802 |  |  | 
                                                            
                                    | 803 |  | 				if ( $nav_menu_setting->previous_term_id !== intval( $value['nav_menu_term_id'] ) ) { | 
                                                            
                                    | 804 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 805 |  | 					$this->update_error  = new WP_Error( 'unexpected_previous_term_id' ); | 
                                                            
                                    | 806 |  | 					return; | 
                                                            
                                    | 807 |  | 				} | 
                                                            
                                    | 808 |  |  | 
                                                            
                                    | 809 |  | 				$value['nav_menu_term_id'] = $nav_menu_setting->term_id; | 
                                                            
                                    | 810 |  | 			} | 
                                                            
                                    | 811 |  |  | 
                                                            
                                    | 812 |  | 			// Handle saving a nav menu item that is a child of a nav menu item being newly-created. | 
                                                            
                                    | 813 |  | 			if ( $value['menu_item_parent'] < 0 ) { | 
                                                                                
                                |  | @@ 813-836 (lines=24) @@ | 
                                                            
                                    | 810 |  | 			} | 
                                                            
                                    | 811 |  |  | 
                                                            
                                    | 812 |  | 			// Handle saving a nav menu item that is a child of a nav menu item being newly-created. | 
                                                            
                                    | 813 |  | 			if ( $value['menu_item_parent'] < 0 ) { | 
                                                            
                                    | 814 |  | 				$parent_nav_menu_item_setting_id = sprintf( 'nav_menu_item[%s]', $value['menu_item_parent'] ); | 
                                                            
                                    | 815 |  | 				$parent_nav_menu_item_setting    = $this->manager->get_setting( $parent_nav_menu_item_setting_id ); | 
                                                            
                                    | 816 |  |  | 
                                                            
                                    | 817 |  | 				if ( ! $parent_nav_menu_item_setting || ! ( $parent_nav_menu_item_setting instanceof WP_Customize_Nav_Menu_Item_Setting ) ) { | 
                                                            
                                    | 818 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 819 |  | 					$this->update_error  = new WP_Error( 'unexpected_nav_menu_item_setting' ); | 
                                                            
                                    | 820 |  | 					return; | 
                                                            
                                    | 821 |  | 				} | 
                                                            
                                    | 822 |  |  | 
                                                            
                                    | 823 |  | 				if ( false === $parent_nav_menu_item_setting->save() ) { | 
                                                            
                                    | 824 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 825 |  | 					$this->update_error  = new WP_Error( 'nav_menu_item_setting_failure' ); | 
                                                            
                                    | 826 |  | 					return; | 
                                                            
                                    | 827 |  | 				} | 
                                                            
                                    | 828 |  |  | 
                                                            
                                    | 829 |  | 				if ( $parent_nav_menu_item_setting->previous_post_id !== intval( $value['menu_item_parent'] ) ) { | 
                                                            
                                    | 830 |  | 					$this->update_status = 'error'; | 
                                                            
                                    | 831 |  | 					$this->update_error  = new WP_Error( 'unexpected_previous_post_id' ); | 
                                                            
                                    | 832 |  | 					return; | 
                                                            
                                    | 833 |  | 				} | 
                                                            
                                    | 834 |  |  | 
                                                            
                                    | 835 |  | 				$value['menu_item_parent'] = $parent_nav_menu_item_setting->post_id; | 
                                                            
                                    | 836 |  | 			} | 
                                                            
                                    | 837 |  |  | 
                                                            
                                    | 838 |  | 			// Insert or update menu. | 
                                                            
                                    | 839 |  | 			$menu_item_data = array( |