WordPress Version: 6.1
/**
* Gets the title of the current admin page.
*
* @since 1.5.0
*
* @global string $title
* @global array $menu
* @global array $submenu
* @global string $pagenow The filename of the current screen.
* @global string $typenow The post type of the current screen.
* @global string $plugin_page
*
* @return string The title of the current admin page.
*/
function get_admin_page_title()
{
global $title, $menu, $submenu, $pagenow, $typenow, $plugin_page;
if (!empty($title)) {
return $title;
}
$hook = get_plugin_page_hook($plugin_page, $pagenow);
$parent = get_admin_page_parent();
$parent1 = $parent;
if (empty($parent)) {
foreach ((array) $menu as $menu_array) {
if (isset($menu_array[3])) {
if ($menu_array[2] === $pagenow) {
$title = $menu_array[3];
return $menu_array[3];
} elseif (isset($plugin_page) && $plugin_page === $menu_array[2] && $hook === $menu_array[5]) {
$title = $menu_array[3];
return $menu_array[3];
}
} else {
$title = $menu_array[0];
return $title;
}
}
} else {
foreach (array_keys($submenu) as $parent) {
foreach ($submenu[$parent] as $submenu_array) {
if (isset($plugin_page) && $plugin_page === $submenu_array[2] && ($pagenow === $parent || $plugin_page === $parent || $plugin_page === $hook || 'admin.php' === $pagenow && $parent1 !== $submenu_array[2] || !empty($typenow) && "{$pagenow}?post_type={$typenow}" === $parent)) {
$title = $submenu_array[3];
return $submenu_array[3];
}
if ($submenu_array[2] !== $pagenow || isset($_GET['page'])) {
// Not the current page.
continue;
}
if (isset($submenu_array[3])) {
$title = $submenu_array[3];
return $submenu_array[3];
} else {
$title = $submenu_array[0];
return $title;
}
}
}
if (empty($title)) {
foreach ($menu as $menu_array) {
if (isset($plugin_page) && $plugin_page === $menu_array[2] && 'admin.php' === $pagenow && $parent1 === $menu_array[2]) {
$title = $menu_array[3];
return $menu_array[3];
}
}
}
}
return $title;
}