Зачем нужно автоматическое обновление плагинов в WordPress
Автоматическое обновление плагинов — это важный аспект поддержки безопасности и стабильности сайта на WordPress. Частые обновления помогают закрывать уязвимости, исправлять ошибки и обеспечивать совместимость с последними версиями ядра. Ручное обновление требует времени и постоянного контроля, а при большом количестве плагинов и сайтов — это становится трудоемко и рискованно.
Настройка автоматического обновления плагинов позволит вам быть уверенным, что все компоненты сайта всегда актуальны, без необходимости заходить в админ-панель и обновлять каждый плагин вручную.
Однако важно учитывать, что не все обновления можно делать без проверки, поэтому в статье рассмотрим, как настроить безопасное и гибкое автоматическое обновление.
Как работает стандартное автоматическое обновление плагинов в WordPress
Начиная с версии 5.5, WordPress поддерживает встроенную возможность автоматического обновления плагинов. Включить её можно прямо из админ-панели, в разделе «Плагины» — там есть переключатель для автообновления каждого плагина.
Но этот функционал достаточно простой, без возможности гибкой настройки и логирования. Кроме того, автоматические обновления включены по умолчанию только для минорных обновлений ядра WordPress, а плагины нужно настраивать вручную.
Для более продвинутого контроля и автоматизации можно использовать фильтры в коде и специализированные плагины.
Программное включение автоматических обновлений для всех плагинов
Если вы хотите активировать автообновление для всех плагинов сразу, можно добавить следующий код в functions.php вашей темы или в собственный плагин:
add_filter( 'auto_update_plugin', '__return_true' );Этот фильтр сообщает WordPress, что все плагины нужно обновлять автоматически. Это простой и эффективный метод, но он не даёт гибкости: все плагины обновляются без исключений.
Фильтрация обновлений для конкретных плагинов
Если нужно включить автообновления только для определённых плагинов, можно использовать такой пример:
function wpbuy_auto_update_selected_plugins( $update, $item ) {
// Список плагинов, для которых включаем автообновление
$plugins_to_update = [
'akismet/akismet.php',
'contact-form-7/wp-contact-form-7.php',
'wpshop/wpshop.php' // пример плагина из https://wpshop.ru
];
if ( in_array( $item->plugin, $plugins_to_update ) ) {
return true;
}
return false;
}
add_filter( 'auto_update_plugin', 'wpbuy_auto_update_selected_plugins', 10, 2 );Здесь мы проверяем, входит ли плагин в список разрешённых — и только тогда разрешаем обновление.
Использование плагинов для автоматического обновления с расширенными возможностями
Если вы хотите получить удобный интерфейс и расширенные настройки автообновлений, стоит обратить внимание на популярные плагины:
- Easy Updates Manager — позволяет управлять обновлениями для ядра, плагинов, тем, а также контролировать логирование и уведомления.
- WP Auto Updater — фокусируется на автоматическом обновлении плагинов и тем с возможностью исключать определённые плагины.
- Clearfy Pro — оптимизационный плагин от WPSHOP, который также имеет настройки для управления автоматическими обновлениями.
Использование плагинов удобно, если вы не хотите править код и хотите получить дополнительные функции, такие как уведомления о неудачных обновлениях.
Логирование и уведомления о результатах обновлений
Важно не только включить автообновления, но и отслеживать их результаты, чтобы вовремя реагировать на возможные проблемы.
Для этого можно добавить простой код для логирования:
function wpbuy_log_plugin_update( $upgrader_object, $options ) {
if ( $options['action'] == 'update' && $options['type'] == 'plugin' ) {
foreach ( $options['plugins'] as $plugin ) {
error_log( 'Плагин обновлён: ' . $plugin . ' в ' . current_time('mysql') );
}
}
}
add_action( 'upgrader_process_complete', 'wpbuy_log_plugin_update', 10, 2 );Этот код будет записывать в лог сервера имена обновлённых плагинов и время обновления. Так вы сможете проверить, что процесс прошёл успешно.
Безопасность и рекомендации по автообновлениям плагинов
Автоматические обновления — отличный инструмент, но при их использовании стоит помнить о следующих моментах:
- Резервное копирование. Перед включением автоконтроля обновлений убедитесь, что у вас есть регулярное резервное копирование сайта, чтобы быстро восстановить работоспособность при сбоях.
- Совместимость. Некоторые обновления могут нарушить работу сайта, особенно если плагины конфликтуют между собой. Рекомендуется сначала тестировать обновления на тестовом сервере.
- Исключения. Для критически важных плагинов можно отключить автоматические обновления и обновлять их вручную, тщательно проверяя.
- Мониторинг. Используйте уведомления и логи, чтобы оперативно реагировать на ошибки.
Заключение: внедрение автоматических обновлений с помощью кода и плагинов
Настроить автоматическое обновление плагинов в WordPress можно как встроенными средствами, так и с помощью фильтров в коде, а также через специализированные плагины. Для большинства проектов достаточно добавить один фильтр auto_update_plugin, но для более тонкой настройки рекомендуется использовать код с проверкой на список плагинов или профессиональные решения вроде Easy Updates Manager.
Если вы хотите упростить управление обновлениями и получить расширенный функционал, обратите внимание на Clearfy Pro — плагин от WPSHOP с удобной настройкой и поддержкой автообновлений.