get_admin_page_title()WP 1.5.0

Gets the title of the current admin page.

No Hooks.

Return

String. The title of the current admin page.

Usage

get_admin_page_title();

Examples

0

#1 Title for the created subpage in the "Tools" menu item

This example shows how to dynamically output the header of the admin page. The header in this case is specified when registering the page with add_submenu_page().

<?php

// Add a submenu page to the "Tools" menu of the admin panel
add_action( 'admin_menu', function(){

	add_submenu_page( 
		'themes.php', 
		'My Tools page', 
		'My Tools', 
		'edit_others_posts', 
		'theme_docs', 
		'my_tools_submenu_page_callback'
	);
} );

function my_tools_submenu_page_callback(){
	?>
	<div class="wrap">
		<h2><?= esc_html( get_admin_page_title() ) ?></h2>

		Page Content here...

	</div>
	<?php
}

Notes

  • 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

Changelog

Since 1.5.0 Introduced.

get_admin_page_title() code WP 6.5.3

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;
}