Хук (действие) admin_notices в WPFTS

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

Что делает WPFTS при вызове admin_notices:

WPFTS отображает уведомления в определенном порядке приоритета, используя метод WPFTS_Core::admin_notices():

  1. Приветственное сообщение (is_welcome_message): Отображается только один раз после активации плагина и содержит краткую информацию о начале работы.

  2. Информация об обновлениях (change_log, change_notices): Сообщения о новых функциях и важных изменениях в плагине.

  3. Ошибка обновления базы данных (updatedb_error_message): Если при обновлении базы данных плагина произошла ошибка, отображается соответствующее сообщение с предложением повторить попытку или связаться с поддержкой.

  4. Уведомление о необходимости обновления базы данных (is_db_outdated): Если версия базы данных плагина устарела, отображается уведомление с ссылкой на страницу настроек.

  5. Сообщения детектора (detector_message, detector2_message, detector3_message): Предупреждения о потенциальных проблемах, таких как наличие большого количества файлов определенных типов, недостаточный лимит памяти или необходимость включения совместимости с темой. Обратите внимание, что отображение этих сообщений зависит от флага $is_all_great, который может быть изменен фильтром wpfts_admin_notices_in_serie.

  6. Уведомление о несоответствии правил индексации (reqreset_message): Если правила индексации были изменены, и некоторые записи в индексе им не соответствуют, отображается уведомление с предложением обновить индекс.

Важные функции, задействованные в обработке admin_notices:

  • WPFTS_Core::admin_notices()

  • WPFTS_Core::get_option()

  • WPFTS_Core::output_admin_notice()

  • WPFTS_Core::getCurrentIRulesStats()

Как это использовать в разработке аддонов:

Разработчики аддонов могут использовать фильтр wpfts_admin_notices_in_serie для управления отображением уведомлений WPFTS. Если ваш аддон отображает критически важное уведомление, вы можете вернуть false из обработчика этого фильтра, чтобы скрыть менее важные уведомления WPFTS. Также вы можете использовать действие admin_notices для отображения собственных уведомлений вашего аддона, но учитывайте приоритет отображения уведомлений, описанный выше.

Дополнительные замечания:

  • WPFTS использует различные CSS-классы для оформления уведомлений разных типов (например, notice-error, notice-warning, notice-success).

  • Уведомления могут быть скрыты пользователем, если они помечены как is-dismissible.

Этот хук демонстрирует механизм отображения уведомлений в WPFTS и позволяет разработчикам аддонов интегрировать свои сообщения в систему уведомлений плагина.