protected function order_children($items)
{
$index = array();
$menu = array();
foreach ($items as $item) {
if (isset($item->title)) {
//items from wp can come with a $title property which conflicts with methods
$item->__title = $item->title;
unset($item->title);
}
if (isset($item->ID)) {
if (is_object($item) && get_class($item) == 'WP_Post') {
$old_menu_item = $item;
$item = new $this->PostClass($item);
}
$menu_item = new $this->MenuItemClass($item);
if (isset($old_menu_item)) {
$menu_item->import_classes($old_menu_item);
}
$index[$item->ID] = $menu_item;
}
}
foreach ($index as $item) {
if (isset($item->menu_item_parent) && $item->menu_item_parent && isset($index[$item->menu_item_parent])) {
$index[$item->menu_item_parent]->add_child($item);
} else {
$menu[] = $item;
}
}
return $menu;
}