Хук admin_notices
в WordPress используется для вывода уведомлений, предупреждений и сообщений об ошибках в административной панели. Он предоставляет возможность разработчикам отображать важные сообщения для пользователей или администраторов сайта, например, о статусе установки плагинов, обновлениях или необходимых действиях.
Как это работает
Когда пользователь заходит в админскую панель, WordPress вызывает хук admin_notices
, и все функции, добавленные к этому хуку, выполняются, позволяя вам выводить уведомления в интерфейсе.
Пример использования
Рассмотрим пример, в котором мы выведем уведомление о необходимости обновления плагина, если установленная версия плагина устарела.
Шаг 1: Добавление уведомления
Добавим следующий код в файл functions.php
вашей темы или в плагин:
// Хук для отображения уведомления о плагине
add_action( 'admin_notices', 'check_plugin_update_notice' );
function check_plugin_update_notice() {
// Укажите название плагина
$plugin_slug = 'example-plugin/example-plugin.php';
$installed_plugins = get_plugins();
// Проверяем, установлен ли плагин
if ( isset( $installed_plugins[ $plugin_slug ] ) ) {
$current_version = $installed_plugins[ $plugin_slug ]['Version'];
$latest_version = '1.0.5'; // Предполагаем, что это последняя версия
// Сравниваем версии
if ( version_compare( $current_version, $latest_version, '<' ) ) {
echo '<div class="notice notice-warning is-dismissible">
<p>Ваш плагин <strong>Example Plugin</strong> устарел. Пожалуйста, обновите до версии ' . esc_html( $latest_version ) . '.</p>
</div>';
}
}
}
Что делает этот код?
Хук
admin_notices
: Мы используем хукadmin_notices
, чтобы добавить функцию, которая будет выводить уведомление.Проверка установки плагина: В функции
check_plugin_update_notice
мы проверяем, установлен ли указанный плагин, получая список всех установленных плагинов с помощью функцииget_plugins()
.Сравнение версий: Если плагин установлен, мы сравниваем текущую версию с последней доступной версией с помощью
version_compare()
. Если текущая версия устарела, мы выводим уведомление.Вывод уведомления: Уведомление об устаревшем плагине выводится в виде сообщения с классами
notice
,notice-warning
иis-dismissible
, что позволяет пользователю закрыть уведомление.
Как это выглядит
После добавления этого кода, если текущая версия плагина устарела, в админке появится следующее уведомление:
Ваш плагин Example Plugin устарел. Пожалуйста, обновите до версии 1.0.5.