Как проверить находится ли пользователь в панели администратора?
В моем приложении есть форма. Я хочу отображать заголовок, если пользователь находится во фронтенде, но если он в бэкенде (админ-панели), я не хочу его показывать.
Я не хочу выполнять проверку на основе роли пользователя.

Используйте is_admin()
. Эта функция проверяет, находитесь ли вы на странице админки (бэкенда).

Будет ли это работать для других пользователей, например, подписчиков?

Хук действия admin_print_scripts
предназначен именно для этого.

Стоит отметить, что AJAX-запрос приведёт к тому, что эта функция вернёт TRUE.
Также прямо в документации сказано, что эта функция не предназначена для проверки безопасности.

Это больше не применимо к WordPress после выхода Gutenberg. Теперь все экраны, использующие Gutenberg, будут возвращать false при проверке is_admin. То же самое в Настройщике. А также при выполнении AJAX-запросов. is_admin
— вводящая в заблуждение и неправильно используемая функция. Вы не можете использовать её для надёжной проверки, находитесь ли вы в админ-панели.
Также вы не можете использовать её для проверки, находитесь ли вы на фронтенде, потому что во время AJAX-запроса эта функция вернёт true, так как по определению функция Определяет, является ли текущий запрос страницей административного интерфейса.
Это верно для AJAX-запроса.

Используйте is_admin()
для проверки, является ли текущая страница административной. Несмотря на название, это не проверка роли пользователя. Функция всегда возвращает FALSE
на фронтенде, независимо от роли пользователя.

Ложь, с тех пор как паршивый редактор блоков был впихнут сообществу WP: https://core.trac.wordpress.org/ticket/47394 С тех пор вы не можете больше безопасно определить, находитесь ли вы в админке или на фронтенде.

@Motivated альтернативы нет. Теперь вам нужно делать КУЧУ проверок: является ли это AJAX-событием, является ли это определенным экраном, относится ли это к редактированию блоков, залогинен ли пользователь, имеет ли пользователь права... и т.д. В плане безопасности ничего не изменилось, так как is_admin НЕ проверяет, является ли пользователь администратором, но по крайней мере он мог сообщить, находимся ли мы в админке (за исключением AJAX-запросов, где is_admin всегда true). Анекдот в том, что редакторы блоков говорят is_admin FALSE, потому что они работают не в "бэкенде", а через REST.
