block_core_navigation_get_classic_menu_fallback()WP 1.0

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

Get the classic navigation menu to use as a fallback.

Хуков нет.

Возвращает

Объект. WP_Term The classic navigation.

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

block_core_navigation_get_classic_menu_fallback();

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

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

Код block_core_navigation_get_classic_menu_fallback() WP 6.5.2

function block_core_navigation_get_classic_menu_fallback() {

	_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::get_classic_menu_fallback' );

	$classic_nav_menus = wp_get_nav_menus();

	// If menus exist.
	if ( $classic_nav_menus && ! is_wp_error( $classic_nav_menus ) ) {
		// Handles simple use case where user has a classic menu and switches to a block theme.

		// Returns the menu assigned to location `primary`.
		$locations = get_nav_menu_locations();
		if ( isset( $locations['primary'] ) ) {
			$primary_menu = wp_get_nav_menu_object( $locations['primary'] );
			if ( $primary_menu ) {
				return $primary_menu;
			}
		}

		// Returns a menu if `primary` is its slug.
		foreach ( $classic_nav_menus as $classic_nav_menu ) {
			if ( 'primary' === $classic_nav_menu->slug ) {
				return $classic_nav_menu;
			}
		}

		// Otherwise return the most recently created classic menu.
		usort(
			$classic_nav_menus,
			static function ( $a, $b ) {
				return $b->term_id - $a->term_id;
			}
		);
		return $classic_nav_menus[0];
	}
}