Описание current_screen
— Action
Хук current_screen позволяет выполнять действия на основе информации о текущем экране в админке WordPress. Он срабатывает после загрузки экрана и предоставляет данные о текущем контексте, что позволяет модифицировать поведение плагинов и тем в зависимости от того, какой экран отображается
Примеры использования
Пример изменения заголовка страницы в зависимости от текущего экрана:
add_action('current_screen', function($current_screen) {
if ($current_screen->id === 'posts') {
add_filter('admin_title', function($title) {
return 'Мои Посты - ' . get_bloginfo('name');
});
}
});
Этот код изменяет заголовок страницы на ‘Мои Посты — [название сайта]’ на экране редактирования постов
Пример добавления кастомного CSS на экран редактирования страниц:
add_action('current_screen', function($current_screen) {
if ($current_screen->base === 'page') {
echo '';
}
});
Этот код добавляет кастомные стили на экран редактирования страниц
Пример ограничения доступа к экрану редактирования постов для определенной роли:
add_action('current_screen', function($current_screen) {
if ($current_screen->id === 'posts' && !current_user_can('edit_posts')) {
wp_die('У вас нет прав для доступа к этому экрану');
}
});
Этот код блокирует доступ к экрану редактирования постов для пользователей без права ‘edit_posts’
— Лучшие практики
– Использование
Используйте этот хук, когда нужно выполнять действия, основанные на текущем экране в админке WordPress
– Производительность
Хук не должен значительно повлиять на производительность, но стоит избегать тяжелых вычислений внутри него
– Предупреждения
Убедитесь, что код не вызывает ошибок на других экранах, где он не нужен
Альтернативы
Тип: action
Этот хук позволяет загружать скрипты и стили на страницах админки, но не предоставляет информации о текущем экране
Используйте его, если нужно просто подключить скрипты или стили, не зависящие от экрана