Обновления плагинов в WordPress — важный аспект поддержания безопасности и функциональности сайта. Однако следить за каждой новой версией вручную неудобно, особенно если на сайте установлено много плагинов. В этой статье разберём, как создать систему автоматических уведомлений о выходе новых версий плагинов WordPress. Это поможет вовремя обновлять плагины и избегать проблем с безопасностью и совместимостью.
Зачем нужны автоматические уведомления об обновлениях плагинов
Обновления плагинов исправляют ошибки, закрывают уязвимости и добавляют новые функции. Если пропустить важное обновление, сайт может стать уязвимым или работать некорректно. Автоматические уведомления помогут:
- Получать своевременную информацию о новых версиях.
- Планировать обновления без постоянного мониторинга.
- Избегать сбоев и уязвимостей.
Реализовать такую систему можно с помощью кода и готовых плагинов, о которых расскажем далее.
Как получить информацию об обновлениях плагинов через WordPress API
WordPress предоставляет встроенный механизм проверки обновлений. Чтобы использовать его для уведомлений, можно программно получить данные о доступных версиях плагинов.
Пример функции wpmax_check_plugin_updates(), которая проверит наличие обновлений и вернёт список плагинов с новыми версиями:
function wpmax_check_plugin_updates() {
// Получаем все установленные плагины
$all_plugins = get_plugins();
// Получаем текущие обновления из transient
$update_plugins = get_site_transient('update_plugins');
$updates = [];
if (!empty($update_plugins->response)) {
foreach ($update_plugins->response as $plugin_file => $plugin_info) {
if (isset($all_plugins[$plugin_file])) {
$updates[] = [
'name' => $all_plugins[$plugin_file]['Name'],
'current_version' => $all_plugins[$plugin_file]['Version'],
'new_version' => $plugin_info->new_version,
'plugin_file' => $plugin_file
];
}
}
}
return $updates;
}
Эта функция возвращает массив с данными о плагинах, для которых доступны обновления.
Отправка уведомлений на email при появлении новых версий
Чтобы получать уведомления, можно настроить регулярную проверку и отправлять email, если найдены обновления. Ниже пример функции wpmax_send_update_notifications():
function wpmax_send_update_notifications() {
$updates = wpmax_check_plugin_updates();
if (empty($updates)) {
return; // Обновлений нет
}
$to = get_option('admin_email');
$subject = 'Доступны обновления плагинов на сайте ' . get_bloginfo('name');
$message = "Доступны новые версии следующих плагинов:\n\n";
foreach ($updates as $plugin) {
$message .= $plugin['name'] . ': ' . $plugin['current_version'] . ' → ' . $plugin['new_version'] . "\n";
}
wp_mail($to, $subject, $message);
}
// Запускаем проверку и уведомления раз в сутки
if (!wp_next_scheduled('wpmax_daily_plugin_update_check')) {
wp_schedule_event(time(), 'daily', 'wpmax_daily_plugin_update_check');
}
add_action('wpmax_daily_plugin_update_check', 'wpmax_send_update_notifications');
Этот код создаёт ежедневное событие, отправляющее администратору письмо с перечнем плагинов, требующих обновления.
Использование готовых плагинов для уведомлений об обновлениях
Если хочется готовое решение без кода, можно использовать следующие плагины:
- Advanced Update Notifier — отправляет письма с информацией о новых версиях плагинов, тем и ядра.
- Email Notifications — гибкий плагин для различных уведомлений, включая обновления.
Также обратите внимание на Clearfy Pro — плагин оптимизации и безопасности, который содержит расширенные настройки уведомлений и управления обновлениями.
Улучшение уведомлений: Slack, Telegram и другие каналы
Для удобства можно отправлять уведомления не только на email, но и в мессенджеры. Например, интеграция с Telegram позволяет оперативно получать сообщения о новых версиях.
Пример простой отправки уведомления в Telegram через бот:
function wpmax_send_telegram_notification($message) {
$bot_token = 'ВАШ_ТОКЕН_БОТА';
$chat_id = 'ВАШ_CHAT_ID';
$url = "https://api.telegram.org/bot" . $bot_token . "/sendMessage?chat_id=" . $chat_id . "&text=" . urlencode($message);
wp_remote_get($url);
}
function wpmax_check_and_notify_telegram() {
$updates = wpmax_check_plugin_updates();
if (empty($updates)) return;
$msg = "Доступны обновления плагинов на сайте " . get_bloginfo('name') . ":\n";
foreach ($updates as $plugin) {
$msg .= $plugin['name'] . ': ' . $plugin['current_version'] . ' → ' . $plugin['new_version'] . "\n";
}
wpmax_send_telegram_notification($msg);
}
add_action('wpmax_daily_plugin_update_check', 'wpmax_check_and_notify_telegram');
Такое решение позволит не пропускать важные обновления, получая уведомления там, где вы чаще всего находитесь.
Резюме и рекомендации по безопасности
Автоматические уведомления — это удобный и простой способ держать плагины WordPress под контролем. Рекомендуется:
- Регулярно проверять и обновлять плагины.
- Использовать не только email, но и другие каналы уведомлений.
- Тестировать обновления на тестовом сайте перед применением на боевом.
Для расширенных возможностей и комплексной оптимизации рассмотрите использование Clearfy Pro, который поможет упростить управление обновлениями и повысить безопасность вашего сайта.