# menu_page_url()

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

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

## Сигнатура

```php
menu_page_url( string $menu_slug, bool $display = true ): string
```

## Описание

Если слаг не был зарегистрирован должным образом, URL не возвращается.

## Параметры

- `$menu_slug` `string` — обязательный. Слаг, по которому будет обозначаться это меню (должен быть уникальным для этого меню).
- `$display` `bool` — необязательный, по умолчанию `true`. Выводить ли URL.

## Возвращаемое значение

`string`

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

Файл: `wp-admin/includes/plugin.php:1923`

```php
function menu_page_url( $menu_slug, $display = true ) {
	global $_parent_pages;

	if ( isset( $_parent_pages[ $menu_slug ] ) ) {
		$parent_slug = $_parent_pages[ $menu_slug ];

		if ( $parent_slug && ! isset( $_parent_pages[ $parent_slug ] ) ) {
			$url = admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) );
		} else {
			$url = admin_url( 'admin.php?page=' . $menu_slug );
		}
	} else {
		$url = '';
	}

	$url = esc_url( $url );

	if ( $display ) {
		echo $url;
	}

	return $url;
}
```

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

- 3.0.0 — Introduced.

## Связанные

Использует: [`esc_url`](https://chugunov.pro/api-wordpress/functions/esc_url/), [`add_query_arg`](https://chugunov.pro/api-wordpress/functions/add_query_arg/), [`admin_url`](https://chugunov.pro/api-wordpress/functions/admin_url/).
Используется в: [`wp_enqueue_command_palette_assets`](https://chugunov.pro/api-wordpress/functions/wp_enqueue_command_palette_assets/).

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