Автоматические обновления в WordPress — это удобная функция, которая повышает безопасность и стабильность сайта, но иногда возникают ситуации, когда требуется их отключить. Например, если обновления конфликтуют с кастомным кодом, или вы хотите контролировать процесс обновлений вручную, чтобы избежать сбоев на живом сайте.
Почему стоит отключать автоматические обновления плагинов и тем
По умолчанию WordPress автоматически обновляет мелкие версии ядра, а начиная с версии 5.5 — также и плагинов с темами. Это снижает риски уязвимостей, но не всегда подходит для продвинутых проектов. Вот несколько причин:
- Обновления могут вызвать несовместимость с кастомными плагинами или темами.
- Нежелательные изменения в функционале плагинов или тем без вашего контроля.
- Нужно тестировать обновления на локальной или staging-среде перед публикацией.
- Для сайтов с высокой нагрузкой важно минимизировать неожиданные перерывы.
Отключая автоматические обновления, вы берёте управление процессом в свои руки, что особенно важно для профессиональных разработчиков и агентств.
Как отключить автоматические обновления плагинов и тем с помощью кода
Для полного контроля над обновлениями можно добавить специальные фильтры в файл functions.php вашей темы или в отдельный плагин-муфта. Рассмотрим конкретные примеры.
Отключение автоматических обновлений всех плагинов
add_filter('auto_update_plugin', '__return_false');
Этот фильтр полностью отключает автоматические обновления плагинов. После добавления кода WordPress не будет устанавливать обновления для плагинов автоматически.
Отключение автоматических обновлений всех тем
add_filter('auto_update_theme', '__return_false');
Аналогично отключает автоматические обновления для всех тем на сайте.
Отключение автоматических обновлений ядра (микрообновления)
add_filter('automatic_updater_disabled', '__return_true');
Этот фильтр отключит все автоматические обновления ядра WordPress, включая security-апдейты.
Управление обновлениями выборочно: примеры из практики
Иногда нужно отключить автоматические обновления только для определённых плагинов или тем, оставив другие обновления включёнными.
Отключение обновлений конкретного плагина
function wpdirect_disable_auto_update_for_plugins( $update, $item ) {
$plugins_to_disable = array(
'akismet/akismet.php',
'hello-dolly/hello.php',
);
if ( in_array( $item->plugin, $plugins_to_disable ) ) {
return false; // Отключаем автоматическое обновление
}
return $update;
}
add_filter( 'auto_update_plugin', 'wpdirect_disable_auto_update_for_plugins', 10, 2 );
В массиве $plugins_to_disable укажите пути к плагинам, для которых хотите отключить автообновления. Это удобно, если часть плагинов должна обновляться вручную.
Отключение обновлений конкретной темы
function wpdirect_disable_auto_update_for_theme( $update, $item ) {
$themes_to_disable = array('twentytwentyone', 'twentytwentytwo');
if ( in_array( $item->stylesheet, $themes_to_disable ) ) {
return false;
}
return $update;
}
add_filter( 'auto_update_theme', 'wpdirect_disable_auto_update_for_theme', 10, 2 );
Здесь $item->stylesheet — это папка темы. Укажите те темы, обновления для которых нужно отключить.
Как проверить статус автоматических обновлений
Для контроля обновлений есть несколько способов:
- В админке WordPress в разделе Консоль – Обновления можно увидеть доступные обновления и их статус.
- Использовать плагин Clearfy, который позволяет гибко управлять обновлениями и отключать автообновления через интерфейс.
- В консоли сервера с помощью WP-CLI выполнить команду
wp plugin list --update=availableдля просмотра плагинов с доступными обновлениями.
Рекомендации по управлению обновлениями на продакшн-сайте
Отключая автоматические обновления, вы берёте ответственность за своевременное обновление сайта. Несколько рекомендаций для безопасного управления:
- Всегда тестируйте обновления на локальном сервере или staging перед выкатом на продакшн.
- Регулярно проверяйте наличие критических обновлений безопасности.
- Используйте плагин Expert Review для мониторинга состояния сайта и обновлений.
- Настройте уведомления по email о выходе новых версий плагинов и тем.
- Резервируйте сайт перед обновлениями — для этого подойдёт плагин резервного копирования или ручные бэкапы.
Заключение
Отключение автоматических обновлений в WordPress — полезный инструмент для разработчиков, которые хотят контролировать процесс обновления сайта. Используя фильтры из статьи, можно гибко настраивать, какие компоненты обновляются автоматически, а какие — нет. Если нужны расширенные возможности, рекомендуем обратить внимание на Clearfy, который упрощает управление обновлениями через интерфейс и добавляет дополнительные инструменты оптимизации.