Есть ли что-то вроде admin_notices для внешнего интерфейса?

11

Я новичок в Wordpress и пытаюсь максимально использовать возможности фреймворка. Что касается внешнего интерфейса, я хочу, чтобы централизованная область сообщений отображала сообщения об ошибках, успехах и общие уведомления, аналогично тому, как они обрабатываются через admin_notices на внутреннем сервере. Я не вижу аналогичного крючка для передней части.

Я предполагаю, что спрашиваю, какое действие я должен подключить на внешнем интерфейсе для имитации admin_notices?

mjleitch
источник

Ответы:

6

По умолчанию в интерфейсе (в теме) такого действия нет. Просто используйте настраиваемое действие, например

do_action( 'theme_notices' );

и подключиться к этому.

кайзер
источник
Рассмотрим это немного дальше ... Если я хочу сделать мой плагин независимым от темы, имеет ли смысл устанавливать глобальную переменную для сообщений, а не использовать do_action? Таким образом, темы могут выводить сообщения из любого места. Если я правильно понимаю, do_action будет размещено в определенном месте в файлах темы. В идеале я хотел бы, чтобы уведомления выводились во время действия get_header по умолчанию, если тема не имеет явной интеграции с плагином, но при желании дает возможность темам выводиться в другом месте. Имеет ли это смысл?
mjleitch
Там нет точно нет таких крюк где - нибудь в теме по умолчанию. Использование глобального просто загрязнит пространство имен. И добавление такого пользовательского хука имеет тот же эффект (и может использоваться где угодно и несколько раз), плюс он не выдает ошибок, когда ваш плагин не активен и глобальный не установлен.
Кайзер