Как использовать функцию get_admin_page_title() в WordPress

# get_admin_page_title() │ WP 1.5.0

Функция get_admin_page_title() возвращает название текущей страницы администратора в WordPress. Это позволяет легко узнать, на какой странице вы находитесь, когда работаете в админке сайта.

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

Функция возвращает строку (string) — название текущей страницы администратора.

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

Вы можете использовать функцию просто так:

```php
get_admin_page_title();

Примеры

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

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

// Добавляем подстраницу в меню "Инструменты" административной панели
add_action( 'admin_menu', function() {
    add_submenu_page( 
        'themes.php', 
        'Моя страница инструментов', 
        'Мои инструменты', 
        'edit_others_posts', 
        'theme_docs', 
        'my_tools_submenu_page_callback'
    );
} );

function my_tools_submenu_page_callback() {
    ?>
    

Содержимое страницы здесь...

Добавьте свой собственный пример

Вы также можете использовать эту функцию для создания заголовков на собственных страницах администрирования.

Заметки

  • Глобальные переменные:
    • $title — название текущего экрана.
    • $menu — массив всех меню.
    • $submenu — массив подменю.
    • $pagenow — имя файла текущего экрана.
    • $typenow — тип записи текущего экрана.
    • $plugin_page — страница плагина.

Изменения

Функция была введена в версии 1.5.0.

Код функции get_admin_page_title()

Вот как выглядит код этой функции:

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'] ) ) { // Не текущая страница.
                    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;
}

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

Вот несколько функций, которые могут оказаться полезными:

  • get_the_archive_title()
  • get_the_title()
  • single_month_title()
  • single_post_title()
  • single_term_title()
  • the_archive_title()
  • the_title()
  • the_title_attribute()
  • wp_get_document_title()

Административное меню

Работа с административным меню также включает в себя:

  • add_menu_page()
  • add_meta_box()
  • add_options_page()
  • add_submenu_page()
  • add_theme_page()
  • do_meta_boxes()
  • get_admin_url()
  • get_current_screen()
  • includes_url()
  • is_admin()
  • remove_menu_page()
  • remove_meta_box()
  • remove_submenu_page()
  • wp_add_dashboard_widget()
  • wp_admin_notice()
  • wp_get_admin_notice()
  • wp_maintenance()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *