The is_nav_menu() WordPress PHP function determines whether the given ID is a navigation menu.
Usage
$is_nav_menu = is_nav_menu( $menu );
Custom example:
$main_menu = 'Main Menu'; if ( is_nav_menu( $main_menu ) ) { echo 'Main Menu is a navigation menu!'; } else { echo 'Main Menu is not a navigation menu.'; }
Parameters
- $menu (int|string|WP_Term): Required. Menu ID, slug, name, or object of the menu to check.
More information
See WordPress Developer Resources: is_nav_menu()
Examples
Check by Menu ID
Function: Check if the menu with the given ID is a navigation menu.
$menu_id = 5; if ( is_nav_menu( $menu_id ) ) { echo 'Menu with ID 5 is a navigation menu!'; } else { echo 'Menu with ID 5 is not a navigation menu.'; }
Check by Menu Slug
Function: Check if the menu with the given slug is a navigation menu.
$menu_slug = 'footer-menu'; if ( is_nav_menu( $menu_slug ) ) { echo 'Footer Menu is a navigation menu!'; } else { echo 'Footer Menu is not a navigation menu.'; }
Check by Menu Name
Function: Check if the menu with the given name is a navigation menu.
$menu_name = 'Header Menu'; if ( is_nav_menu( $menu_name ) ) { echo 'Header Menu is a navigation menu!'; } else { echo 'Header Menu is not a navigation menu.'; }
Check by WP_Term Object
Function: Check if the menu represented by the given WP_Term object is a navigation menu.
$menu_term = get_term( 5, 'nav_menu' ); if ( is_nav_menu( $menu_term ) ) { echo 'Menu with term ID 5 is a navigation menu!'; } else { echo 'Menu with term ID 5 is not a navigation menu.'; }
Check with a Non-Menu Item
Function: Check if a non-menu item is a navigation menu (expected to return false).
$non_menu_item = 'Not a menu'; if ( is_nav_menu( $non_menu_item ) ) { echo 'This is a navigation menu!'; } else { echo 'This is not a navigation menu.'; }