Title: wp-includes/nav-menu.php | Developer.WordPress.org

---

# File: wp-includes/nav-menu.php

 * hook[pre_wp_setup_nav_menu_item](https://developer.wordpress.org/reference/hooks/pre_wp_setup_nav_menu_item/)
 * Filters whether to short-circuit the wp_setup_nav_menu_item() output.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/pre_wp_setup_nav_menu_item/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/pre_wp_setup_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:855](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L855-L855)
 * function[_wp_reset_invalid_menu_item_parent()](https://developer.wordpress.org/reference/functions/_wp_reset_invalid_menu_item_parent/)
 * Prevents menu items from being their own parent.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_reset_invalid_menu_item_parent/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/functions/_wp_reset_invalid_menu_item_parent/#uses)
   | Source: [wp-includes/nav-menu.php:1334](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1334-L1348)
 * function[update_menu_item_cache()](https://developer.wordpress.org/reference/functions/update_menu_item_cache/)
 * Updates post and term caches for all linked objects for a list of menu items.
 * Used by [1 function](https://developer.wordpress.org/reference/functions/update_menu_item_cache/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/functions/update_menu_item_cache/#uses)
   | Source: [wp-includes/nav-menu.php:787](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L787-L813)
 * function[_wp_menus_changed()](https://developer.wordpress.org/reference/functions/_wp_menus_changed/)
 * Handles menu config after theme change.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_menus_changed/#used-by)
   | Uses [5 functions](https://developer.wordpress.org/reference/functions/_wp_menus_changed/#uses)
   | Source: [wp-includes/nav-menu.php:1214](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1214-L1221)
 * function[wp_map_nav_menu_locations()](https://developer.wordpress.org/reference/functions/wp_map_nav_menu_locations/)
 * Maps nav menu locations according to assignments in previously active theme.
 * Used by [2 functions](https://developer.wordpress.org/reference/functions/wp_map_nav_menu_locations/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/functions/wp_map_nav_menu_locations/#uses)
   | Source: [wp-includes/nav-menu.php:1232](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1232-L1320)
 * hook[wp_get_nav_menu_name](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_name/)
 * Filters the navigation menu name being returned.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_name/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_name/#uses)
   | Source: [wp-includes/nav-menu.php:224](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L224-L224)
 * function[wp_get_nav_menu_name()](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_name/)
 * Returns the name of a navigation menu.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_name/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_name/#uses)
   | Source: [wp-includes/nav-menu.php:203](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L203-L225)
 * function[_wp_delete_customize_changeset_dependent_auto_drafts()](https://developer.wordpress.org/reference/functions/_wp_delete_customize_changeset_dependent_auto_drafts/)
 * Deletes auto-draft posts associated with the supplied changeset.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_delete_customize_changeset_dependent_auto_drafts/#used-by)
   | Uses [7 functions](https://developer.wordpress.org/reference/functions/_wp_delete_customize_changeset_dependent_auto_drafts/#uses)
   | Source: [wp-includes/nav-menu.php:1182](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1182-L1206)
 * hook[wp_add_nav_menu_item](https://developer.wordpress.org/reference/hooks/wp_add_nav_menu_item/)
 * Fires immediately after a new navigation menu item has been added.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_add_nav_menu_item/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_add_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:562](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L562-L562)
 * hook[has_nav_menu](https://developer.wordpress.org/reference/hooks/has_nav_menu/)
 * Filters whether a nav menu is assigned to the specified location.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/has_nav_menu/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/has_nav_menu/#uses)
   | Source: [wp-includes/nav-menu.php:192](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L192-L192)
 * hook[wp_get_nav_menu_object](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_object/)
 * Filters the nav_menu term retrieved for wp_get_nav_menu_object().
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_object/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_object/#uses)
   | Source: [wp-includes/nav-menu.php:49](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L49-L49)
 * function[_wp_delete_post_menu_item()](https://developer.wordpress.org/reference/functions/_wp_delete_post_menu_item/)
 * Callback for handling a menu item when its original object is deleted.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_delete_post_menu_item/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/functions/_wp_delete_post_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:1097](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1097-L1105)
 * function[_wp_delete_tax_menu_item()](https://developer.wordpress.org/reference/functions/_wp_delete_tax_menu_item/)
 * Serves as a callback for handling a menu item when its original object is deleted.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_delete_tax_menu_item/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/functions/_wp_delete_tax_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:1117](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1117-L1125)
 * function[_wp_auto_add_pages_to_menu()](https://developer.wordpress.org/reference/functions/_wp_auto_add_pages_to_menu/)
 * Automatically add newly published page objects to menus with that as an option.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_wp_auto_add_pages_to_menu/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/functions/_wp_auto_add_pages_to_menu/#uses)
   | Source: [wp-includes/nav-menu.php:1137](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1137-L1172)
 * function[wp_setup_nav_menu_item()](https://developer.wordpress.org/reference/functions/wp_setup_nav_menu_item/)
 * Decorates a menu item object with the shared navigation menu item properties.
 * Used by [3 functions](https://developer.wordpress.org/reference/functions/wp_setup_nav_menu_item/#used-by)
   | Uses [16 functions](https://developer.wordpress.org/reference/functions/wp_setup_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:842](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L842-L1040)
 * hook[nav_menu_attr_title](https://developer.wordpress.org/reference/hooks/nav_menu_attr_title/)
 * Filters a navigation menu item’s title attribute.
 * Used by [2 functions](https://developer.wordpress.org/reference/hooks/nav_menu_attr_title/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/nav_menu_attr_title/#uses)
   | Source: [wp-includes/nav-menu.php:968](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L968-L968)
 * hook[nav_menu_description](https://developer.wordpress.org/reference/hooks/nav_menu_description/)
 * Filters a navigation menu item’s description.
 * Used by [2 functions](https://developer.wordpress.org/reference/hooks/nav_menu_description/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/nav_menu_description/#uses)
   | Source: [wp-includes/nav-menu.php:978](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L978-L978)
 * hook[wp_setup_nav_menu_item](https://developer.wordpress.org/reference/hooks/wp_setup_nav_menu_item/)
 * Filters a navigation menu item object.
 * Used by [2 functions](https://developer.wordpress.org/reference/hooks/wp_setup_nav_menu_item/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_setup_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:1039](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1039-L1039)
 * function[wp_get_associated_nav_menu_items()](https://developer.wordpress.org/reference/functions/wp_get_associated_nav_menu_items/)
 * Returns the menu items associated with a particular object.
 * Used by [2 functions](https://developer.wordpress.org/reference/functions/wp_get_associated_nav_menu_items/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/functions/wp_get_associated_nav_menu_items/#uses)
   | Source: [wp-includes/nav-menu.php:1054](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L1054-L1087)
 * hook[wp_delete_nav_menu](https://developer.wordpress.org/reference/hooks/wp_delete_nav_menu/)
 * Fires after a navigation menu has been successfully deleted.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_delete_nav_menu/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_delete_nav_menu/#uses)
   | Source: [wp-includes/nav-menu.php:295](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L295-L295)
 * function[wp_update_nav_menu_object()](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_object/)
 * Saves the properties of a menu or create a new menu with those properties.
 * Used by [4 functions](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_object/#used-by)
   | Uses [9 functions](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_object/#uses)
   | Source: [wp-includes/nav-menu.php:312](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L312-L401)
 * hook[wp_create_nav_menu](https://developer.wordpress.org/reference/hooks/wp_create_nav_menu/)
 * Fires after a navigation menu is successfully created.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_create_nav_menu/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_create_nav_menu/#uses)
   | Source: [wp-includes/nav-menu.php:372](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L372-L372)
 * hook[wp_update_nav_menu](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu/)
 * Fires after a navigation menu has been successfully updated.
 * Used by [3 functions](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu/#uses)
   | Source: [wp-includes/nav-menu.php:399](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L399-L399)
 * function[wp_update_nav_menu_item()](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_item/)
 * Saves the properties of a menu item or create a new one.
 * Used by [6 functions](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_item/#used-by)
   | Uses [24 functions](https://developer.wordpress.org/reference/functions/wp_update_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:418](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L418-L631)
 * hook[wp_update_nav_menu_item](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu_item/)
 * Fires after a navigation menu item has been updated.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu_item/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_update_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:628](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L628-L628)
 * function[wp_get_nav_menus()](https://developer.wordpress.org/reference/functions/wp_get_nav_menus/)
 * Returns all navigation menu objects.
 * Used by [7 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menus/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menus/#uses)
   | Source: [wp-includes/nav-menu.php:644](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L644-L663)
 * hook[wp_get_nav_menus](https://developer.wordpress.org/reference/hooks/wp_get_nav_menus/)
 * Filters the navigation menu objects being returned.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_get_nav_menus/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_get_nav_menus/#uses)
   | Source: [wp-includes/nav-menu.php:662](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L662-L662)
 * function[_is_valid_nav_menu_item()](https://developer.wordpress.org/reference/functions/_is_valid_nav_menu_item/)
 * Determines whether a menu item is valid.
 * Used by [0 functions](https://developer.wordpress.org/reference/functions/_is_valid_nav_menu_item/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/functions/_is_valid_nav_menu_item/#uses)
   | Source: [wp-includes/nav-menu.php:676](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L676-L678)
 * function[wp_get_nav_menu_items()](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/)
 * Retrieves all menu items of a navigation menu.
 * Used by [7 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/#used-by)
   | Uses [7 functions](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/#uses)
   | Source: [wp-includes/nav-menu.php:712](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L712-L778)
 * hook[wp_get_nav_menu_items](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_items/)
 * Filters the navigation menu items being returned.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_items/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_items/#uses)
   | Source: [wp-includes/nav-menu.php:777](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/nav-menu.php#L777-L777)

1 [2](https://developer.wordpress.org/reference/files/wp-includes/nav-menu.php/page/2/?output_format=md)

 [Next Page](https://developer.wordpress.org/reference/files/wp-includes/nav-menu.php/page/2/?output_format=md)