# get_admin_page_parent()

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

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

## Сигнатура

```php
get_admin_page_parent( string $parent_page = '' ): string
```

## Описание

Получает родительский файл текущей страницы административной части.

## Параметры

- `$parent_page` `string` — необязательный, по умолчанию `''`. Слаг родительского меню (или имя файла стандартной страницы административной части WordPress).

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

`string`

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

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

```php
function get_admin_page_parent( $parent_page = '' ) {
	global $parent_file, $menu, $submenu, $pagenow, $typenow,
		$plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;

	if ( ! empty( $parent_page ) && 'admin.php' !== $parent_page ) {
		return $_wp_real_parent_file[ $parent_page ] ?? $parent_page;
	}

	if ( 'admin.php' === $pagenow && isset( $plugin_page ) ) {
		foreach ( (array) $menu as $parent_menu ) {
			if ( $parent_menu[2] === $plugin_page ) {
				$parent_file = $plugin_page;
				return $_wp_real_parent_file[ $parent_file ] ?? $parent_file;
			}
		}
		if ( isset( $_wp_menu_nopriv[ $plugin_page ] ) ) {
			$parent_file = $plugin_page;
			return $_wp_real_parent_file[ $parent_file ] ?? $parent_file;
		}
	}

	if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $pagenow ][ $plugin_page ] ) ) {
		$parent_file = $pagenow;
		return $_wp_real_parent_file[ $parent_file ] ?? $parent_file;
	}

	foreach ( array_keys( (array) $submenu ) as $parent_page ) {
		foreach ( $submenu[ $parent_page ] as $submenu_array ) {
			if ( isset( $_wp_real_parent_file[ $parent_page ] ) ) {
				$parent_page = $_wp_real_parent_file[ $parent_page ];
			}

			if ( ! empty( $typenow ) && "$pagenow?post_type=$typenow" === $submenu_array[2] ) {
				$parent_file = $parent_page;
				return $parent_page;
			} elseif ( empty( $typenow ) && $pagenow === $submenu_array[2]
				&& ( empty( $parent_file ) || ! str_contains( $parent_file, '?' ) )
			) {
				$parent_file = $parent_page;
				return $parent_page;
			} elseif ( isset( $plugin_page ) && $plugin_page === $submenu_array[2] ) {
				$parent_file = $parent_page;
				return $parent_page;
			}
		}
	}

	if ( empty( $parent_file ) ) {
		$parent_file = '';
	}
	return '';
}
```

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

- 1.5.0 — Introduced.

## Связанные

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

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