В современных проектах на WordPress своевременное обновление плагинов — залог безопасности и стабильности сайта. Однако не всегда администраторы успевают отслеживать появление новых версий, особенно если на сайте установлено много расширений. В этой статье мы подробно рассмотрим, как организовать автоматические уведомления о выходе обновлений плагинов, используя как готовые плагины, так и собственные решения на PHP.
Зачем нужны уведомления об обновлениях плагинов в WordPress
Плагины регулярно обновляются для исправления багов, улучшения функционала и закрытия уязвимостей. Если пропускать эти обновления, сайт становится уязвимым для атак и может работать нестабильно. Автоматические уведомления помогают:
- быстро узнавать о новых версиях;
- не пропускать важные обновления безопасности;
- экономить время на ручной проверке;
- планировать обновления без риска поломок.
Давайте рассмотрим, как настроить такую систему на WordPress.
Использование плагинов для уведомлений об обновлениях
Плагин WP Updates Notifier
WP Updates Notifier — один из популярных бесплатных инструментов, позволяющий получать уведомления на почту при выходе новых версий плагинов и тем.
- Автоматическая проверка обновлений по расписанию;
- Отправка детального отчёта на email;
- Настройка частоты проверок (ежедневно, еженедельно и др.).
Для установки достаточно перейти в админке WordPress в раздел Плагины > Добавить новый, найти WP Updates Notifier, установить и активировать. В настройках укажите email для уведомлений и частоту проверок.
Плагин ManageWP Worker
Если у вас несколько сайтов, ManageWP — отличный инструмент для централизованного управления и получения уведомлений об обновлениях. Он позволяет контролировать плагины, темы и ядро WordPress с одной панели.
Собственное решение: как сделать уведомления о обновлениях плагинов через код
Если нужна гибкая кастомизация или вы не хотите подключать лишние плагины, можно написать свой скрипт, который будет проверять обновления и отправлять уведомления.
Принцип работы
WordPress хранит информацию об обновлениях в transient update_plugins. Мы можем получить эти данные, проанализировать и отправить письмо, если есть новые версии.
Пример кода для функций темы или плагина
function wpskill_check_plugin_updates() {
// Получаем данные об обновлениях плагинов
$update_plugins = get_site_transient('update_plugins');
if (empty($update_plugins->response)) {
// Обновлений нет
return;
}
$plugins_to_update = [];
foreach ($update_plugins->response as $plugin_file => $plugin_info) {
$plugins_to_update[] = $plugin_info->slug . ' (текущая версия: ' . $plugin_info->old_version . ', новая: ' . $plugin_info->new_version . ')';
}
if (!empty($plugins_to_update)) {
$message = "Доступны обновления для следующих плагинов:\n" . implode("\n", $plugins_to_update);
wp_mail(
get_option('admin_email'),
'Обновления плагинов на сайте ' . get_bloginfo('name'),
$message
);
}
}
// Запускаем проверку раз в сутки через WP-Cron
if (!wp_next_scheduled('wpskill_daily_plugin_update_check')) {
wp_schedule_event(time(), 'daily', 'wpskill_daily_plugin_update_check');
}
add_action('wpskill_daily_plugin_update_check', 'wpskill_check_plugin_updates');
В этом коде мы создаём событие WP-Cron, которое запускается ежедневно и проверяет наличие обновлений. Если обновления есть, на email администратора сайта отправляется письмо со списком плагинов для обновления.
Как улучшить уведомления об обновлениях плагинов
Можно добавить дополнительные возможности для удобства и контроля:
- Форматирование письма в HTML для удобочитаемости;
- Получение уведомлений на несколько email-адресов;
- Логирование отправленных уведомлений для истории;
- Отправка уведомлений в Telegram или Slack через API;
- Интеграция с плагином Clearfy Pro для расширенной настройки автоматических обновлений и уведомлений.
Пример расширения: HTML-письмо и несколько получателей
function wpskill_check_plugin_updates() {
$update_plugins = get_site_transient('update_plugins');
if (empty($update_plugins->response)) {
return;
}
$plugins_to_update = [];
foreach ($update_plugins->response as $plugin_file => $plugin_info) {
$plugins_to_update[] = '<li>' . esc_html($plugin_info->slug) . ': текущая версия ' . esc_html($plugin_info->old_version) . ', новая версия ' . esc_html($plugin_info->new_version) . '</li>';
}
if (!empty($plugins_to_update)) {
$message = '<h2>Доступны обновления для плагинов:</h2><ul>' . implode("", $plugins_to_update) . '</ul>';
$headers = ['Content-Type: text/html; charset=UTF-8'];
$emails = [get_option('admin_email'), 'devteam@example.com'];
foreach ($emails as $email) {
wp_mail($email, 'Обновления плагинов на сайте ' . get_bloginfo('name'), $message, $headers);
}
}
}
Вывод
Автоматические уведомления об обновлениях плагинов — важная часть поддержания безопасности и стабильности сайта на WordPress. Вы можете использовать готовые плагины, например, WP Updates Notifier, или написать собственный скрипт, как показано выше, для более тонкой настройки.
Дополнительно рекомендую рассмотреть использование Clearfy Pro — плагин с расширенными возможностями оптимизации и безопасности, который также помогает автоматизировать обновления и уведомления.
Такой подход позволит вам всегда быть в курсе важных обновлений и защитит ваш сайт от возможных проблем.