# wp_ajax_menu_get_metabox()

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

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

## Сигнатура

```php
wp_ajax_menu_get_metabox()
```

## Описание

Обрабатывает получение метабоксов меню через AJAX.

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

Файл: `wp-admin/includes/ajax-actions.php:1881`

```php
function wp_ajax_menu_get_metabox() {
	if ( ! current_user_can( 'edit_theme_options' ) ) {
		wp_die( -1 );
	}

	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';

	if ( isset( $_POST['item-type'] ) && 'post_type' === $_POST['item-type'] ) {
		$type     = 'posttype';
		$callback = 'wp_nav_menu_item_post_type_meta_box';
		$items    = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
	} elseif ( isset( $_POST['item-type'] ) && 'taxonomy' === $_POST['item-type'] ) {
		$type     = 'taxonomy';
		$callback = 'wp_nav_menu_item_taxonomy_meta_box';
		$items    = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
	}

	if ( ! empty( $_POST['item-object'] ) && isset( $items[ $_POST['item-object'] ] ) ) {
		$menus_meta_box_object = $items[ $_POST['item-object'] ];

		/** This filter is documented in wp-admin/includes/nav-menu.php */
		$item = apply_filters( 'nav_menu_meta_box_object', $menus_meta_box_object );

		$box_args = array(
			'id'       => 'add-' . $item->name,
			'title'    => $item->labels->name,
			'callback' => $callback,
			'args'     => $item,
		);

		ob_start();
		$callback( null, $box_args );

		$markup = ob_get_clean();

		echo wp_json_encode(
			array(
				'replace-id' => $type . '-' . $item->name,
				'markup'     => $markup,
			)
		);
	}

	wp_die();
}
```

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

- 3.1.0 — Introduced.

## Связанные

Использует: [`get_taxonomies`](https://chugunov.pro/api-wordpress/functions/get_taxonomies/), [`wp_json_encode`](https://chugunov.pro/api-wordpress/functions/wp_json_encode/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`wp_die`](https://chugunov.pro/api-wordpress/functions/wp_die/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_post_types`](https://chugunov.pro/api-wordpress/functions/get_post_types/).

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