Skip to content

Instantly share code, notes, and snippets.

@kaoskeya
Last active July 8, 2019 13:53
Show Gist options
  • Save kaoskeya/5f31c235c29b307cbda4ca69bdd29fc9 to your computer and use it in GitHub Desktop.
Save kaoskeya/5f31c235c29b307cbda4ca69bdd29fc9 to your computer and use it in GitHub Desktop.
<?php
function getMenuItems($menu_name) {
$menu_items = array();
$previous_id = 0;
foreach(wp_get_nav_menu_items($menu_name) as $item) {
if($item->menu_item_parent == 0) {
// Parent item
array_push($menu_items, array(
'title' => $item->post_title,
'link' => $item->url,
'children' => array()
));
$previous_id = $item->ID;
} else {
// Child item
$parent = array_pop($menu_items);
array_push($parent['children'], array(
'title' => $item->post_title,
'link' => $item->url
));
array_push($menu_items, $parent);
}
}
return $menu_items;
}
// Usage
$items = getMenuItems('Primary Menu'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment