Обновления тем и плагинов — важная часть поддержки сайта на WordPress, которая помогает сохранять безопасность и функциональность. Но как быть, если вы управляете несколькими сайтами или просто хотите получать оповещения о важных обновлениях без постоянного ручного контроля? В этой статье разберём, как создать автоматические уведомления о новых версиях тем и плагинов на WordPress, используя пример кода и полезные плагины.
Почему важно отслеживать обновления тем и плагинов WordPress
Обновления содержат исправления безопасности, новые функции и улучшения производительности. Пропуск важных апдейтов может привести к уязвимостям и несовместимостям. Автоматические уведомления помогут вовремя реагировать и поддерживать сайт в актуальном состоянии.
Ручной контроль через админку WordPress неудобен при большом количестве сайтов или плагинов. Автоматизация экономит время и снижает риск пропуска важных обновлений.
Варианты реализации: плагины и кастомный код
Для получения уведомлений можно использовать готовые решения или написать собственный код. Рассмотрим оба варианта.
Готовые плагины для уведомлений об обновлениях
- WP Updates Notifier — простой и надёжный плагин, который отправляет email при появлении новых версий плагинов и тем.
- Update Manager — позволяет настроить подробные уведомления и логи обновлений.
- Clearfy Pro — многофункциональный плагин оптимизации с возможностью управления обновлениями и уведомлениями.
Эти плагины хороши для быстрого старта и не требуют программирования.
Кастомный код для отправки уведомлений о новых версиях
Если нужна гибкость или интеграция в собственный плагин, можно написать код, который будет проверять наличие обновлений и отправлять уведомления.
В WordPress есть встроенная система обновлений с API, которые можно использовать для отслеживания новых версий.
Пример кода: как сделать уведомления о новых версиях плагинов и тем WordPress
Ниже пример функции wpbloger_check_updates_notify, которая проверяет наличие обновлений и отправляет email администратору.
function wpbloger_check_updates_notify() {
// Получаем данные об обновлениях
wp_update_plugins();
wp_update_themes();
$plugin_updates = get_site_transient('update_plugins');
$theme_updates = get_site_transient('update_themes');
$updates_found = false;
$message = "Обнаружены обновления на сайте " . get_bloginfo('name') . ":\n\n";
if (!empty($plugin_updates->response)) {
$updates_found = true;
$message .= "Обновления плагинов:\n";
foreach ($plugin_updates->response as $plugin_file => $plugin_info) {
$message .= "- " . $plugin_info->slug . " (текущая версия: " . $plugin_info->old_version . ", новая: " . $plugin_info->new_version . ")\n";
}
$message .= "\n";
}
if (!empty($theme_updates->response)) {
$updates_found = true;
$message .= "Обновления тем:\n";
foreach ($theme_updates->response as $theme_slug => $theme_info) {
$message .= "- " . $theme_slug . " (текущая версия: " . $theme_info['old_version'] . ", новая: " . $theme_info['new_version'] . ")\n";
}
$message .= "\n";
}
if ($updates_found) {
wp_mail(get_option('admin_email'), 'Обновления WordPress на сайте', $message);
}
}
// Запускаем проверку раз в сутки
if (!wp_next_scheduled('wpbloger_daily_update_check')) {
wp_schedule_event(time(), 'daily', 'wpbloger_daily_update_check');
}
add_action('wpbloger_daily_update_check', 'wpbloger_check_updates_notify');
Этот код:
- Ежедневно запускает проверку обновлений для тем и плагинов.
- Собирает информацию по обновлениям и формирует письмо.
- Отправляет email на адрес администратора сайта.
При необходимости можно расширить функционал, например, добавить фильтрацию уведомлений по важности или интеграцию с внешними сервисами (Telegram, Slack).
Как улучшить уведомления: интеграция с популярными плагинами
Если на сайте установлен WPGPT, то можно автоматизировать ответы на вопросы о статусе обновлений, интегрируя уведомления с чат-ботом.
Плагин My Popup поможет вывести уведомления об обновлениях прямо в админке или для пользователей с ролями редакторов.
Используйте Clearfy Pro для комплексного управления обновлениями и оптимизации уведомлений.
Советы по безопасности и производительности при автоматических уведомлениях
При использовании автоматических уведомлений важно:
- Не перегружать сервер частыми запросами к API обновлений — оптимально запускать проверки раз в 12–24 часа.
- Использовать
wp_schedule_event— системный таймер WordPress, который экономит ресурсы. - Защищать email-адреса и данные от спама, используя проверенные функции WordPress для отправки почты.
- Тестировать работу уведомлений на тестовом сайте перед запуском на боевом.
Это поможет избежать проблем с производительностью и обеспечить своевременное информирование о важных обновлениях.
Заключение
Автоматические уведомления о новых версиях тем и плагинов — отличный способ держать сайт в безопасности и актуальности без лишних усилий. Используйте готовые плагины для быстрого решения или напишите собственный код для более тонкой настройки. Не забывайте про оптимизацию и безопасность при реализации этой функции.