WordPress Version: 6.3
/**
* Converts a classic navigation to blocks.
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::get_classic_menu_fallback_blocks() instead.
*
* @param object $classic_nav_menu WP_Term The classic navigation object to convert.
* @return array the normalized parsed blocks.
*/
function block_core_navigation_get_classic_menu_fallback_blocks($classic_nav_menu)
{
_deprecated_function(__FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::get_classic_menu_fallback_blocks');
// BEGIN: Code that already exists in wp_nav_menu().
$menu_items = wp_get_nav_menu_items($classic_nav_menu->term_id, array('update_post_term_cache' => false));
// Set up the $menu_item variables.
_wp_menu_item_classes_by_context($menu_items);
$sorted_menu_items = array();
foreach ((array) $menu_items as $menu_item) {
$sorted_menu_items[$menu_item->menu_order] = $menu_item;
}
unset($menu_items, $menu_item);
// END: Code that already exists in wp_nav_menu().
$menu_items_by_parent_id = array();
foreach ($sorted_menu_items as $menu_item) {
$menu_items_by_parent_id[$menu_item->menu_item_parent][] = $menu_item;
}
$inner_blocks = block_core_navigation_parse_blocks_from_menu_items(isset($menu_items_by_parent_id[0]) ? $menu_items_by_parent_id[0] : array(), $menu_items_by_parent_id);
return serialize_blocks($inner_blocks);
}