WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

get_admin_page_title() WP 1.0

Получает описание страницы админки.

Заголовок страницы будет таким, какой был указан при регистрации страницы/подстраницы в функциях add_menu_page() и add_submenu_page().

Работает на основе данных глобальных переменных $menu и $submenu. В эти переменные собираются данные страниц админки при их регистрации через функции add_menu_page() и add_submenu_page() соответственно.

Результат работы этой функции (заголовок) сохраняется в глобальную переменную $title, которая доступна в админке. Но использовать её напрямую, пожалуй, не лучшая идея.

Хуков нет.

Возвращает

Строку. Заголовок текущей страницы админ-панели WordPress.

Использование

get_admin_page_title();

Примеры

#1 Заголовок для созданной подстраницы в пункте меню "Инструменты" (tools)

Этот пример показывает как динамически вывести заголовок страницы Админки. Заголовок в данном случае указывается при регистрации страницы с помощью add_submenu_page().

<?php

// Добавим страницу-подменю в меню админ-панели "Инструменты" (tools)
add_action( 'admin_menu', function(){

	add_submenu_page( 
		'themes.php', 'Страница моих инструментов', '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>

		Контент страницы здесь

	</div>
	<?php
}

Заметки

  • Global. Строка. $title
  • Global. Массив. $menu
  • Global. Массив. $submenu
  • Global. Строка. $pagenow
  • Global. Строка. $plugin_page
  • Global. Строка. $typenow

Код get admin page title: wp-admin/includes/plugin.php WP 5.2.2

<?php
function get_admin_page_title() {
	global $title, $menu, $submenu, $pagenow, $plugin_page, $typenow;

	if ( ! empty( $title ) ) {
		return $title;
	}

	$hook = get_plugin_page_hook( $plugin_page, $pagenow );

	$parent = $parent1 = get_admin_page_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[3] ) ) {
					$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] ) &&
					(
						( $parent == $pagenow ) ||
						( $parent == $plugin_page ) ||
						( $plugin_page == $hook ) ||
						( $pagenow == 'admin.php' && $parent1 != $submenu_array[2] ) ||
						( ! empty( $typenow ) && $parent == $pagenow . '?post_type=' . $typenow )
					)
					) {
						$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] ) &&
					( $pagenow == 'admin.php' ) &&
					( $parent1 == $menu_array[2] ) ) {
						$title = $menu_array[3];
						return $menu_array[3];
				}
			}
		}
	}

	return $title;
}

Cвязанные функции

Из метки: title (заголовок)

Еще из раздела: Админ-панель

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться