_wp_reset_invalid_menu_item_parent

The timeline below displays how wordpress function _wp_reset_invalid_menu_item_parent has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Prevents menu items from being their own parent.
 *
 * Resets menu_item_parent to 0 when the parent is set to the item itself.
 * For use before saving `_menu_item_menu_item_parent` in nav-menus.php.
 *
 * @since 6.2.0
 * @access private
 *
 * @param array $menu_item_data The menu item data array.
 * @return array The menu item data with reset menu_item_parent.
 */
function _wp_reset_invalid_menu_item_parent($menu_item_data)
{
    if (!is_array($menu_item_data)) {
        return $menu_item_data;
    }
    if (!empty($menu_item_data['ID']) && !empty($menu_item_data['menu_item_parent']) && (int) $menu_item_data['ID'] === (int) $menu_item_data['menu_item_parent']) {
        $menu_item_data['menu_item_parent'] = 0;
    }
    return $menu_item_data;
}