Автоматическое обновление плагинов WordPress — важная задача для поддержания безопасности и стабильности сайта. Многие владельцы сайтов используют сторонние плагины для обновления, но в WordPress уже предусмотрены встроенные инструменты, которые позволяют настроить автоматическое обновление плагинов с помощью кода.
Почему важно автоматизировать обновление плагинов WordPress
Регулярные обновления плагинов закрывают уязвимости, улучшают производительность и добавляют новые функции. Однако ручное обновление занимает время и может быть забыто. Автоматическое обновление снижает риски эксплуатации уязвимостей и поддерживает сайт в актуальном состоянии без лишних усилий.
Но важно не просто включить автообновления для всех плагинов, а сделать это грамотно, чтобы избежать непредвиденных ошибок после обновлений.
Как работает система автоматических обновлений в WordPress
Начиная с версии 5.5, WordPress поддерживает автоматическое обновление плагинов и тем без установки дополнительных расширений. Эта функция управляется фильтром auto_update_plugin, который можно подключить в файле functions.php темы или в собственном плагине.
По умолчанию автообновления для плагинов выключены, и их можно включить выборочно.
Включение автоматического обновления для всех плагинов
Чтобы активировать автообновление для всех плагинов, добавьте в functions.php следующий код:
add_filter('auto_update_plugin', '__return_true');Этот простой фильтр заставит WordPress обновлять все плагины автоматически при выходе новых версий.
Включение обновления только для выбранных плагинов
Иногда нужно обновлять не все плагины, а лишь безопасные или проверенные. Для этого можно реализовать фильтр с логикой выбора:
function wpcat_auto_update_selected_plugins( $update, $item ) {
// Список плагинов для автообновления
$plugins_to_update = array(
'akismet/akismet.php',
'contact-form-7/wp-contact-form-7.php',
);
if ( in_array( $item->plugin, $plugins_to_update ) ) {
return true;
}
return false;
}
add_filter( 'auto_update_plugin', 'wpcat_auto_update_selected_plugins', 10, 2 );В массиве $plugins_to_update укажите пути к основным файлам плагинов, для которых хотите включить автообновления. Этот способ более гибкий и безопасный.
Как получать уведомления об обновлениях и ошибках
Автообновления могут проходить без вашего ведома, поэтому полезно настроить уведомления на email о результатах обновления. WordPress умеет отправлять такие письма, но по умолчанию они отключены.
Для включения уведомлений добавьте в functions.php следующий код:
add_filter('auto_plugin_update_send_email', '__return_true');Если хотите получать уведомления только при ошибках обновления, используйте:
function wpcat_auto_update_notify_on_error( $send, $type, $core_update, $result ) {
if ( $type === 'plugin' && is_wp_error( $result ) ) {
return true;
}
return false;
}
add_filter( 'auto_plugin_update_send_email', 'wpcat_auto_update_notify_on_error', 10, 4 );Практические советы по безопасности автоматических обновлений
Автообновления удобны, но могут привести к ошибкам из-за несовместимости новых версий с вашим сайтом или темой. Чтобы минимизировать риски, рекомендуется:
- Перед включением автообновлений сделать резервную копию сайта.
- Ограничить автообновления проверенными плагинами.
- Использовать staging-сервер для тестирования обновлений.
- Регулярно следить за письмами с уведомлениями об ошибках.
Интеграция с плагинами для дополнительного контроля
Если нужна более тонкая настройка или расширенный контроль, можно использовать плагин Clearfy Pro. Он позволяет гибко управлять автообновлениями и оптимизировать работу сайта.
Для пользователей, которые хотят создать собственное решение с уведомлениями через Telegram или другие каналы, можно использовать REST API WordPress, чтобы получать информацию об обновлениях и статусе обновления.
Выводы: как настроить автоматическое обновление плагинов для вашего сайта
Настройка автообновлений в WordPress с помощью фильтров позволяет поддерживать безопасность и актуальность плагинов без установки дополнительных расширений. Используйте фильтр auto_update_plugin для включения обновлений, настройте уведомления, и не забывайте о резервном копировании.
Пример кода для включения автообновлений для выбранных плагинов:
function wpcat_auto_update_selected_plugins( $update, $item ) {
$plugins_to_update = array(
'akismet/akismet.php',
'contact-form-7/wp-contact-form-7.php',
);
if ( in_array( $item->plugin, $plugins_to_update ) ) {
return true;
}
return false;
}
add_filter( 'auto_update_plugin', 'wpcat_auto_update_selected_plugins', 10, 2 );Для подробного управления и дополнительных возможностей рекомендуем изучить плагин Clearfy Pro.