Всё, что нужно знать по поводу вывода уведомлений в админке WordPress написано здесь: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_notices

Установка уведомлений происходит через «навешивание» своей функции на action: admin_notices

Однако, крайне не удобно всё это использовать в своих плагинах.

Хочется иметь функцию типа:

которая сохранит тип и текст уведомления и покажет единственный раз при следующей загрузке страницы.

Ну, а теперь моё тривиальное решение: хранить уведомления и их тип мы будем в сессии ($_SESSION). После вывода уведомления, оно должно стираться из сессии, чтобы быть показанным пользователю только один раз после установки.

Для работы с сессиями, где-нибудь в начале кода вашего плагина должно быть:

Далее, в любом месте непосредственно сама функция вывода уведомлений:

и конечно же функция добавления уведомления:

ну, а теперь примеры добавления уведомлений:

И вот как всё это должно выглядеть в итоге:

wp_notice_types

И конечно же, важно понимать, что данный способ установки уведомлений будет работать только в определенных случаях, таких при которых происходит какое-либо действие, т.е. по запросу срабатывает ваша функция (метод класса), в нём задаются уведомления и происходит редирект. При этом нужно помнить что внутри ваших функций использовать штатную функцию wp_redirect() не имеет смысла, потому что часть кода страницы админки на этот момент уже будет отправлена браузеру, посему получите на выходе ошибку вида: headers already sent. Потому для своих редиректов я использую такую функцию: