Ошибка Call to undefined function get_current_screen() на локальном сервере
Я использую WordPress 3.9.1 и получаю ошибку:
Fatal error: Call to undefined function get_current_screen()
если добавляю следующий код в functions.php или любой другой файл темы:
$screen = get_current_screen();
echo $screen;
Изначально эта ошибка появилась при разработке моей темы. Я пробовал разные темы, включая TwentyFourteen, но ошибка оставалась. Даже удалил базу данных WordPress, создал новую и переустановил WordPress, но это не помогло.
Я проверил функцию get_current_screen()
в файле wp-admin/includes/screen.php - она там есть.
Работаю на XAMPP, плагины не активированы (чистая установка). В wp-config.php изменил только настройки MySQL (база данных, имя пользователя и пароль) и DEBUG mode.
Есть идеи как это исправить?

get_current_screen()
— это функция бэкенда, которая возвращает данные о текущей странице администрирования в админке. Использовать её в коде темы бессмысленно. Единственный способ, как она может работать (я предполагаю, но не проверял) в functions.php
— если она подключена через хук бэкенда, который срабатывает позже, чем admin_init
.
Вы не объясняете, что пытаетесь сделать с помощью get_current_screen()
, но, скорее всего, используете её неправильно.

Вы правы, но я не знаю, какой хук использовать. Согласно Кодексу, admin_init не сработает. Также я пытаюсь использовать это для проверки, просматривается ли страница создания/редактирования пользовательского типа записи, чтобы я мог установить разные значения по умолчанию для созданных мной пользовательских метабоксов. Я использую тот же код для создания метабоксов для нескольких типов записей через плагин.
