Автоматические уведомления о важных обновлениях сайта WordPress — это полезный инструмент для администраторов и редакторов, которые хотят оперативно получать информацию о выходе новых версий плагинов, тем или самого WordPress. В этой статье мы рассмотрим, как создать такую систему уведомлений с помощью кода и популярных плагинов, а также разберём практические примеры.
Зачем нужны автоматические уведомления о обновлениях WordPress
Обновления WordPress, плагинов и тем часто содержат важные исправления безопасности, улучшения производительности и новые функции. Если не следить за обновлениями, сайт может стать уязвимым или работать некорректно. Автоматические уведомления помогают:
- Своевременно узнавать о доступных обновлениях;
- Минимизировать риски безопасности;
- Планировать обновления в рабочее время;
- Автоматизировать процесс контроля состояния сайта.
Обычно WordPress выводит уведомления в админке, но их можно пропустить, особенно если вы не часто заходите в панель управления. Поэтому удобнее получать уведомления на email или в мессенджеры.
Создание системы уведомлений с помощью кода
Хук для проверки обновлений плагинов и тем
WordPress регулярно проверяет наличие обновлений. Мы можем использовать хук pre_set_site_transient_update_plugins для плагинов и pre_set_site_transient_update_themes для тем, чтобы отследить изменения и отправить уведомление.
function wpacademy_notify_update_plugins($transient) {
if (empty($transient->response)) {
return $transient;
}
$updated_plugins = array_keys($transient->response);
$last_check = get_option('wpacademy_last_check_plugins', array());
$new_updates = array_diff($updated_plugins, $last_check);
if (!empty($new_updates)) {
$plugin_names = array();
foreach ($new_updates as $plugin_file) {
$plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin_file);
$plugin_names[] = $plugin_data['Name'];
}
$message = 'Доступны обновления для плагинов: ' . implode(', ', $plugin_names);
wp_mail(get_option('admin_email'), 'Обновления плагинов на сайте', $message);
update_option('wpacademy_last_check_plugins', $updated_plugins);
}
return $transient;
}
add_filter('pre_set_site_transient_update_plugins', 'wpacademy_notify_update_plugins');Этот код проверяет, какие плагины получили обновления с последней проверки, и отправляет письмо администратору. Аналогично можно сделать для тем, заменив фильтр и опции.
Уведомления о новых версиях WordPress
Для уведомлений о новых версиях ядра WordPress можно использовать хук pre_set_site_transient_update_core:
function wpacademy_notify_update_core($transient) {
if (empty($transient->updates)) {
return $transient;
}
$last_version = get_option('wpacademy_last_core_version', '');
$new_version = $transient->updates[0]->current;
if (version_compare($new_version, $last_version, '>')) {
$message = 'Доступна новая версия WordPress: ' . $new_version;
wp_mail(get_option('admin_email'), 'Обновление WordPress', $message);
update_option('wpacademy_last_core_version', $new_version);
}
return $transient;
}
add_filter('pre_set_site_transient_update_core', 'wpacademy_notify_update_core');Использование плагинов для уведомлений об обновлениях
Если вы не хотите писать код, есть готовые решения, которые легко настраиваются и расширяют возможности:
- WP Updates Notifier — плагин отправляет уведомления о всех обновлениях (ядро, плагины, темы) на email. Можно задать расписание и фильтры.
- Advanced Notifications — позволяет создавать гибкие правила отправки уведомлений админам и редакторам.
- Clearfy Pro — в расширенной версии есть функции по управлению обновлениями и уведомлениями, а также оптимизация работы сайта.
Для установки плагина достаточно зайти в админку WordPress, выбрать «Плагины» → «Добавить новый» и ввести название. После активации настройте email-адреса и расписание.
Пример настройки WP Updates Notifier
После установки перейдите в «Настройки» → «WP Updates Notifier» и укажите:
- Email получателя уведомлений;
- Типы обновлений для отслеживания (ядро, плагины, темы);
- Время отправки (например, ежедневно в 9 утра);
- Дополнительные параметры, например, исключения по плагинам.
Этот плагин сразу начнёт присылать отчёты о доступных обновлениях на указанный email.
Расширенные варианты уведомлений: интеграция с мессенджерами
Для оперативности можно настроить уведомления не только на email, но и в Telegram, Slack или другие мессенджеры. Это удобно, если вы работаете в команде и хотите быстро реагировать на обновления.
Пример интеграции с Telegram через webhook и PHP:
function wpacademy_send_telegram_message($message) {
$bot_token = 'ваш_токен_бота';
$chat_id = 'ваш_chat_id';
$url = "https://api.telegram.org/bot$bot_token/sendMessage";
$args = array(
'body' => json_encode(array(
'chat_id' => $chat_id,
'text' => $message,
)),
'headers' => array('Content-Type' => 'application/json'),
);
wp_remote_post($url, $args);
}
// Вызов функции при обнаружении обновлений
wpacademy_send_telegram_message('Доступно обновление WordPress или плагинов');Интеграция требует настройки бота и получения chat_id, но даёт возможность мгновенно получать уведомления.
Выводы и рекомендации
Автоматические уведомления о обновлениях — важная часть поддержки сайта на WordPress. Они позволяют вовремя реагировать и поддерживать безопасность и стабильность ресурса. Для реализации можно использовать как готовые плагины, так и собственные решения на PHP, интегрируя их с email и мессенджерами.
Если хотите расширить возможности уведомлений, советуем обратить внимание на плагины из WPShop, например Clearfy Pro с инструментами оптимизации и уведомлений.