The is_nav_menu_item() WordPress PHP function determines whether the given ID is a nav menu item.
Usage
is_nav_menu_item($menu_item_id);
Example:
// Check if the ID 42 is a nav menu item $is_nav_menu_item = is_nav_menu_item(42); echo $is_nav_menu_item; // Returns true if it is, false otherwise
Parameters
$menu_item_id int(Required) – The ID of the potential nav menu item.
More information
See WordPress Developer Resources: is_nav_menu_item()
Examples
Check if a post is a nav menu item
In this example, we will check if a specific post is a nav menu item.
$post_id = 42;
if (is_nav_menu_item($post_id)) {
echo "Post ID $post_id is a nav menu item.";
} else {
echo "Post ID $post_id is not a nav menu item.";
}
Check multiple IDs for nav menu items
In this example, we will loop through an array of IDs to check if they are nav menu items.
$ids = array(10, 20, 30, 40, 50);
foreach ($ids as $id) {
if (is_nav_menu_item($id)) {
echo "ID $id is a nav menu item.<br />";
} else {
echo "ID $id is not a nav menu item.<br />";
}
}
Check all menu items in a menu
In this example, we will check all items in a specific menu to see if they are nav menu items.
$menu_name = 'main-menu';
$locations = get_nav_menu_locations();
$menu = wp_get_nav_menu_object($locations[$menu_name]);
$menu_items = wp_get_nav_menu_items($menu->term_id);
foreach ($menu_items as $menu_item) {
if (is_nav_menu_item($menu_item->ID)) {
echo "Menu item with ID {$menu_item->ID} is a nav menu item.<br />";
}
}
Remove non-nav menu items from an array
In this example, we will remove non-nav menu items from an array of IDs.
$ids = array(10, 20, 30, 40, 50);
$nav_menu_items = array();
foreach ($ids as $id) {
if (is_nav_menu_item($id)) {
$nav_menu_items[] = $id;
}
}
print_r($nav_menu_items); // Array with only nav menu item IDs
Display nav menu items with a custom message
In this example, we will display a custom message for nav menu items.
$ids = array(10, 20, 30, 40, 50);
foreach ($ids as $id) {
if (is_nav_menu_item($id)) {
echo "ID $id is a nav menu item with a custom message.<br />";
} else {
echo "ID $id is not a nav menu item.<br />";
}
}