Автоматические обновления в WordPress — это удобная функция, которая позволяет сайту оставаться в безопасности и получать последние патчи без вмешательства пользователя. Однако в ряде случаев требуется отключить автоматические обновления: например, при специфической кастомизации сайта, несовместимости с некоторыми плагинами или темами, либо для полного контроля над процессом обновления. В этой статье мы подробно разберем, как отключить автоматические обновления в WordPress, рассмотрим примеры кода и лучшие практики.
Зачем отключать автоматические обновления в WordPress
По умолчанию WordPress автоматически обновляет минорные версии ядра, плагины и темы. Это помогает избежать проблем с безопасностью, но может привести к неожиданным сбоям на сайте, особенно если вы используете нестандартные решения или кастомные доработки.
Основные причины отключения обновлений:
- Необходимость ручной проверки совместимости перед обновлением.
- Избежание конфликтов плагинов и тем после обновления.
- Контроль версий на локальных и staging-серверах.
- Требования к стабильности корпоративных сайтов.
Важно помнить, что отключение обновлений увеличивает риски безопасности, поэтому решение должно быть взвешенным.
Как отключить все автоматические обновления в WordPress
Для полного отключения автоматических обновлений можно использовать фильтр automatic_updater_disabled, который блокирует все обновления ядра, плагинов и тем.
add_filter('automatic_updater_disabled', '__return_true');
Добавьте этот код в файл functions.php вашей темы или в плагин для кастомных функций. После этого WordPress перестанет автоматически обновлять что-либо.
Отключение автоматических обновлений ядра
Если нужно отключить только автоматические обновления ядра (включая минорные и крупные), используйте следующий фильтр:
add_filter('auto_update_core', '__return_false');
Этот фильтр отключит обновления ядра, но оставит обновления плагинов и тем включенными.
Отключение обновлений плагинов и тем
Для управления обновлениями плагинов и тем существуют фильтры auto_update_plugin и auto_update_theme. Чтобы отключить автоматические обновления плагинов:
add_filter('auto_update_plugin', '__return_false');
Для тем — аналогично:
add_filter('auto_update_theme', '__return_false');
Отключение автоматических обновлений выборочно: пример с WPcore
В некоторых случаях нужно отключить обновления только для конкретных плагинов или тем. Рассмотрим пример, как отключить автоматическое обновление только для плагина "WPcore".
function wpcore_disable_plugin_update( $update, $item ) {
if ( isset( $item->slug ) && $item->slug === 'wpcore' ) {
return false; // Отключаем автоматическое обновление плагина WPcore
}
return $update; // Для остальных плагинов оставляем без изменений
}
add_filter( 'auto_update_plugin', 'wpcore_disable_plugin_update', 10, 2 );
Этот код проверяет slug плагина и отключает обновление только для него, остальные плагины обновляются автоматически.
Использование плагинов для управления обновлениями
Если вы не хотите самостоятельно писать код, есть несколько плагинов, которые позволяют гибко управлять автоматическими обновлениями:
- Easy Updates Manager — удобный инструмент для включения/отключения обновлений по типам, а также для конкретных плагинов и тем.
- WP Auto Update Settings — простой плагин для включения или отключения автообновлений.
- Clearfy Pro (https://wpshop.ru/plugins/clearfy-pro/?utm_source=wpcore.ru&utm_medium=article&utm_campaign=kak-otklyuchit-avtomaticheskie-obnovleniya-v-wordpress) — расширенный набор оптимизаций и управления обновлениями, включая возможность тонкой настройки автообновлений.
Практические советы при отключении автоматических обновлений
Отключая автоматические обновления, помните о следующих моментах:
- Регулярно проверяйте наличие обновлений вручную. Без автоматического обновления риск уязвимостей возрастает.
- Тестируйте обновления на staging-сервере, чтобы избежать ошибок на живом сайте.
- Используйте систему резервного копирования — плагин WPcore позволяет создать автоматические резервные копии через Cron (https://wpshop.ru/plugins/wpcore/?utm_source=wpcore.ru&utm_medium=article&utm_campaign=kak-otklyuchit-avtomaticheskie-obnovleniya-v-wordpress).
- Отслеживайте журналы обновлений, чтобы быть в курсе изменений и исправлений.
Итоговые рекомендации и код для functions.php
Приведем полный пример кода, который отключает все автоматические обновления, но оставляет возможность ручного обновления через админку:
function wpcore_disable_all_auto_updates() {
add_filter('automatic_updater_disabled', '__return_true');
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
add_filter('auto_update_core', '__return_false');
}
add_action('init', 'wpcore_disable_all_auto_updates');
Этот код можно использовать как основу и при необходимости расширять под свои задачи.
Заключение
Отключение автоматических обновлений — важный инструмент контроля над работой WordPress, особенно на кастомных и корпоративных сайтах. Используйте фильтры ядра для тонкой настройки, тестируйте каждое обновление и не забывайте про безопасность. Если нужна удобная настройка без кода, обратите внимание на плагины типа Easy Updates Manager или Clearfy Pro.