Вы правы, перечисляя возможности хуков в своем ответе, однако у каждого из них есть «стандартные» варианты использования, которые один предпочтительнее использовать по сравнению с другим.См. Ниже:
Действие: admin_notices
Действие admin_notices
относится непосредственно к разделу html над основным содержимым страницы администратора.Например, над полем заголовка в редакторе страниц / сообщений.
Из-за размещения HTML вы будете ограничены в том, какой стиль вы сможете использовать, поскольку окружающие элементы <div>
могут вызвать проблемы сабсолютное и фиксированное позиционирование.
Это также «отраслевой стандарт», чтобы зарезервировать это действие только для отображения связанных с плагином / темой уведомлений отсюда и название admin_notices.Такие вещи, как новые обновления Wordpress, уведомления о конфигурации плагинов или даже полезные советы / инструкции для темы / плагина при активации.
Действие: admin_footer
Возможно, вынамереваясь использовать действие admin_footer
, поскольку оно предоставляет гораздо больше свободы для стиля, поскольку вокруг него меньше сжимающих <div>
элементов.
Действие admin_footer
также не зарезервировано ни для чего, в частности, в отличие отadmin_notices
.И, следовательно, будет лучше соответствовать вашим целям, так как ваше добавление - это не уведомление, а скорее постоянная функция, тогда как уведомления имеют тенденцию быть временными.
Дополнительная информация
Сейчасвы выбрали соответствующее действие для своей функции, вам, вероятно, потребуется загрузить CSS-файлы и, возможно, JS-файлы для стилизации вашего фиксированного всплывающего окна.
Для этого вам потребуется использовать admin_enqueue_scripts
action ( Подробнее здесь ).
Вы также можете ограничить отображение вашего фиксированного всплывающего окна, проверив текущий экран, на котором вы находитесь, и ограничив его отображение на основе возвращенного значения.Смотрите ниже:
$current_screen = get_current_screen();
if ( $current_screen->post_type == '' || $current_screen->base != 'post' ) {
return 'html';
}