public static function resolveReferences()
 {
     global $bootstrapSettings;
     foreach ($bootstrapSettings->references as $reference) {
         if (!isset($reference->path) && !isset($reference->paths)) {
             $currentValue = get_option($reference->option_name, 0);
             $postId = findTargetPostId($currentValue);
             if ($postId != 0) {
                 update_option($reference->option_name, $postId);
             }
         } elseif (isset($reference->path) && !isset($reference->paths)) {
             $path = $reference->path;
             $currentStruct = get_option($reference->option_name, 0);
             $currentValue = self::getValue($currentStruct, $path);
             $postId = findTargetPostId($currentValue);
             if ($postId != 0) {
                 self::setValue($currentStruct, $path, $postId);
                 update_option($reference->option_name, $currentStruct);
             }
         } elseif (isset($reference->paths)) {
             $currentStruct = get_option($reference->option_name, 0);
             $paths = $reference->paths;
             foreach ($paths as $path) {
                 $currentValue = self::getValue($currentStruct, $path);
                 $postId = findTargetPostId($currentValue);
                 if ($postId != 0) {
                     self::setValue($currentStruct, $path, $postId);
                 }
             }
             update_option($reference->option_name, $currentStruct);
         }
     }
 }
 private function processMenu(&$menu)
 {
     $objMenu = wp_get_nav_menu_object($menu->slug);
     if (!$objMenu) {
         $id = wp_create_nav_menu($menu->slug);
         $objMenu = wp_get_nav_menu_object($menu->slug);
     }
     $menuId = $objMenu->term_id;
     $menu->id = $menuId;
     wp_set_current_user(1);
     $loggedInmenuItems = wp_get_nav_menu_items($menu->slug);
     wp_set_current_user(0);
     $notloggedInmenuItems = wp_get_nav_menu_items($menu->slug);
     $existingMenuItems = array_merge($loggedInmenuItems, $notloggedInmenuItems);
     foreach ($existingMenuItems as $existingMenuItem) {
         $ret = wp_delete_post($existingMenuItem->ID, true);
     }
     foreach ($menu->items as &$objMenuItem) {
         $newTarget = findTargetPostId($objMenuItem->meta->postMeta['_menu_item_object_id'][0]);
         $parentItem = $this->findMenuItem($objMenuItem->meta->postMeta['_menu_item_menu_item_parent'][0]);
         $args = ['menu-item-title' => $objMenuItem->meta->post_title, 'menu-item-position' => $objMenuItem->meta->menu_order, 'menu-item-description' => $objMenuItem->meta->post_content, 'menu-item-attr-title' => $objMenuItem->meta->post_title, 'menu-item-status' => $objMenuItem->meta->post_status, 'menu-item-type' => $objMenuItem->meta->postMeta['_menu_item_type'][0], 'menu-item-object' => $objMenuItem->meta->postMeta['_menu_item_object'][0], 'menu-item-object-id' => $newTarget, 'menu-item-url' => $objMenuItem->meta->postMeta['_menu_item_url'][0], 'menu-item-parent-id' => $parentItem];
         $ret = wp_update_nav_menu_item($menuId, 0, $args);
         $objMenuItem->id = $ret;
         foreach ($objMenuItem->meta->postMeta as $key => $meta) {
             if (in_array($key, $this->skipped_meta_fields) || substr($key, 0, 1) == '_') {
                 continue;
             }
             $val = $meta[0];
             update_post_meta($ret, $key, $val);
         }
     }
 }