block_core_navigation_get_classic_menu_fallback_blocks()WP 1.0

Устарела с версии 6.3.0. Больше не поддерживается и может быть удалена. Используйте WP_Navigation_Fallback::get_classic_menu_fallback_blocks().

Converts a classic navigation to blocks.

Хуков нет.

Возвращает

Массив. the normalized parsed blocks.

Использование

block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu );
$classic_nav_menu(объект) (обязательный)
WP_Term The classic navigation object to convert.

Список изменений

Устарела с 6.3.0 Use WP_Navigation_Fallback::get_classic_menu_fallback_blocks() instead.

Код block_core_navigation_get_classic_menu_fallback_blocks() WP 6.5.2

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 );
}