Хук admin_title
в WordPress позволяет изменять содержимое метатега <title>
для административных страниц. Это может быть полезно для настройки заголовков страниц в зависимости от типа страницы, роли пользователя или других условий, что помогает сделать административную панель более информативной.
apply_filters( 'admin_title', string $admin_title, string $title );
Параметры:
- $admin_title — строка, содержащая заголовок страницы с добавленным контекстом.
- $title — строка, содержащая оригинальный заголовок страницы без изменений.
Пример простого использования:
function custom_admin_title( $admin_title, $title ) {
return 'Мой сайт — ' . $title;
}
add_filter( 'admin_title', 'custom_admin_title', 10, 2 );
Изменение заголовка на основе страницы или типа записи
Часто требуется менять заголовок только на определенных страницах административной панели. Рассмотрим пример, где заголовок меняется на странице редактирования пользовательского типа записи.
function custom_post_type_title( $admin_title, $title ) {
if ( is_admin() && isset( $_GET['post_type'] ) && 'my_custom_type' === $_GET['post_type'] ) {
$admin_title = 'Редактирование записей — ' . $title;
}
return $admin_title;
}
add_filter( 'admin_title', 'custom_post_type_title', 10, 2 );
В этом примере, если текущая страница — это страница редактирования записей типа my_custom_type
, заголовок будет изменен на «Редактирование записей — Оригинальный заголовок».
Добавление индикатора режима разработки в заголовок админки
Для удобства разработки можно добавить пометку в заголовке админки, которая указывает на режим разработки.
function dev_mode_admin_title( $admin_title ) {
if ( wp_get_environment_type() === 'development' ) {
$admin_title = 'DEV || ' . $admin_title;
}
return $admin_title;
}
add_filter( 'admin_title', 'dev_mode_admin_title' );
Теперь, если сайт работает в режиме разработки, заголовок будет включать метку DEV ||
, что полезно для быстрого распознавания среды.
Изменение заголовка на основе роли пользователя
Можно настроить заголовок страницы для пользователей с определенными правами. Например, если текущий пользователь — администратор, в заголовке будет добавлено «Admin:».
function role_based_admin_title( $admin_title, $title ) {
if ( current_user_can( 'administrator' ) ) {
$admin_title = 'Admin: ' . $title;
}
return $admin_title;
}
add_filter( 'admin_title', 'role_based_admin_title', 10, 2 );
Добавление информации о плагине в заголовок
Для разработчиков плагинов может быть удобно видеть название и версию плагина в заголовке страницы админки. Следующий код добавляет информацию о плагине, если пользователь находится на странице настроек данного плагина.
function plugin_version_admin_title( $admin_title, $title ) {
$plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/my-plugin/my-plugin.php' );
if ( $plugin_info ) {
$admin_title .= ' - ' . $plugin_info['Name'] . ' ' . $plugin_info['Version'];
}
return $admin_title;
}
add_filter( 'admin_title', 'plugin_version_admin_title', 10, 2 );
Отображение только оригинального заголовка
Если нужно сделать заголовки в административной панели минималистичными, можно оставить только оригинальный заголовок без дополнительных деталей.
function original_admin_title( $admin_title, $title ) {
return $title;
}
add_filter( 'admin_title', 'original_admin_title', 10, 2 );
Заключение
Хук admin_title
предоставляет мощные возможности для кастомизации заголовков административных страниц в WordPress, что помогает адаптировать интерфейс под конкретные задачи и улучшить UX панели управления.