# _wp_menus_changed()

URL: https://chugunov.pro/api-wordpress/functions/_wp_menus_changed/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 4.9.0.

## Сигнатура

```php
_wp_menus_changed()
```

## Описание

Обрабатывает конфигурацию меню после смены темы.

## Исходный код

Файл: `wp-includes/nav-menu.php:1214`

```php
function _wp_menus_changed() {
	$old_nav_menu_locations    = get_option( 'theme_switch_menu_locations', array() );
	$new_nav_menu_locations    = get_nav_menu_locations();
	$mapped_nav_menu_locations = wp_map_nav_menu_locations( $new_nav_menu_locations, $old_nav_menu_locations );

	set_theme_mod( 'nav_menu_locations', $mapped_nav_menu_locations );
	delete_option( 'theme_switch_menu_locations' );
}
```

## История изменений

- 4.9.0 — Introduced.

## Связанные

Использует: [`wp_map_nav_menu_locations`](https://chugunov.pro/api-wordpress/functions/wp_map_nav_menu_locations/), [`set_theme_mod`](https://chugunov.pro/api-wordpress/functions/set_theme_mod/), [`delete_option`](https://chugunov.pro/api-wordpress/functions/delete_option/), [`get_nav_menu_locations`](https://chugunov.pro/api-wordpress/functions/get_nav_menu_locations/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_wp_menus_changed/
