diff --git a/template-parts/import-wordpress-menu.php b/template-parts/import-wordpress-menu.php new file mode 100644 index 0000000..946c3e0 --- /dev/null +++ b/template-parts/import-wordpress-menu.php @@ -0,0 +1,111 @@ +setOptions(array("timeout"=>2)); + $response = $client->send(); + } + catch (exception $e) { + $response = null; + } + if ($response) { + $response_data = json_decode($response->getBody()); + if (!$response->isClientError() && $response_data) { + foreach ($response_data as $menu_item) { + $lowered_title = strtolower($menu_item->title); + $item_url = $menu_item->url; + if ($lowered_title == 'login') { + // manipulate login url + $item_url = "/login"; + } + $item_title = $menu_item->title; + /* + if ($lowered_title == 'collections') { + if ($wordpress_site) { + // change Collections item + $item_title = "Project"; + $item_url = $wordpress_site; + } else { + continue; // do not render the Collections item + } + } + */ + $item = [ + "id" => $menu_item->ID, + "title" => $item_title, + "url" => $item_url + ]; + if (!isset($items[$menu_item->menu_item_parent])) { + $items[$menu_item->menu_item_parent] = new ArrayObject(); + } + $items[$menu_item->menu_item_parent][$menu_item->ID] =$item; + } + } + } +} + +if (count($items[0]) == 0) { + // we did not retrieve a menu from the wordpress site + // let's create a default menu + if ($wordpress_site) { + $collections_item = [ + "id" => 1, + "title" => "Collections", + "url" => "/" + ]; + $items[0][1] = $collections_item; + } + $login_item = [ + "id" => 2, + "title" => "Login", + "url" => "/login" + ]; + $items[0][2] = $login_item; +} +//print_r($items); + +if (!function_exists('render_menu')) { + function render_menu($items, $level_id) { + if ($level_id == 0) { + echo '