Автоматические обновления в WordPress — это удобная функция, которая позволяет поддерживать сайт в актуальном состоянии и повышать безопасность. Однако в некоторых случаях требуется отключить автообновления, например, чтобы предотвратить конфликт с кастомными плагинами, темами или для проведения тестирования. В этой статье подробно разберём, как отключить автообновления в WordPress разными способами, а также приведём примеры кода и рекомендации.
Что такое автообновления в WordPress и зачем их отключать
Автообновления появились в WordPress начиная с версии 3.7 и изначально предназначены для автоматического обновления минорных версий ядра, чтобы повысить безопасность. Со временем функционал расширился и теперь автообновления могут касаться:
- Минорных и мажорных обновлений ядра WordPress;
- Плагинов;
- Тем;
- Переводов.
Отказ от автообновлений может быть полезен, если вы хотите:
- Контролировать процесс обновлений вручную;
- Избежать сбоев из-за несовместимости обновлений с кастомным кодом;
- Проводить тестирование на staging-сервере перед обновлением продакшена;
- Уменьшить нагрузку на сервер в пиковые часы.
Однако важно понимать, что отключение автообновлений повышает риски безопасности, поэтому подходить к этому нужно осознанно.
Отключение автообновлений через wp-config.php
Самый простой способ отключить автообновления — добавить константу WP_AUTO_UPDATE_CORE в файл wp-config.php. Она позволяет гибко управлять обновлениями ядра WordPress.
Пример кода для полного отключения автообновлений ядра:
define('WP_AUTO_UPDATE_CORE', false);Если вы хотите отключить только мажорные обновления, но оставить минорные, используйте:
define('WP_AUTO_UPDATE_CORE', 'minor');Этот метод не отключает обновления плагинов и тем. Для этого потребуются другие способы.
Отключение автообновлений плагинов и тем с помощью фильтров
WordPress предоставляет фильтры для управления автообновлениями плагинов и тем. Их можно использовать в файле functions.php вашей темы или в кастомном плагине.
Отключение автообновлений плагинов
add_filter('auto_update_plugin', 'wpupdate_disable_auto_update_plugin', 10, 2);
function wpupdate_disable_auto_update_plugin($update, $item) {
// Можно добавить условия по названию плагина или другим параметрам
return false; // Отключаем автообновление
}В этом примере мы полностью отключаем автообновления плагинов. Вы можете добавить условие, например, для конкретного плагина:
function wpupdate_disable_auto_update_plugin($update, $item) {
if ($item->slug === 'plugin-slug') {
return false;
}
return $update;
}Отключение автообновлений тем
add_filter('auto_update_theme', 'wpupdate_disable_auto_update_theme', 10, 2);
function wpupdate_disable_auto_update_theme($update, $item) {
return false; // Отключаем автообновления тем
}Аналогично можно добавить условия для конкретных тем, проверяя $item->slug.
Использование плагина Clearfy для управления автообновлениями
Для тех, кто предпочитает управлять автообновлениями через интерфейс, отлично подходит плагин Clearfy. Он позволяет тонко настраивать автообновления для ядра, плагинов и тем без кода.
Преимущества Clearfy:
- Гибкое управление автообновлениями через панель администратора;
- Отключение обновлений для отдельных плагинов и тем;
- Дополнительные функции оптимизации и безопасности;
- Регулярные обновления и поддержка.
Чтобы отключить автообновления с помощью Clearfy, установите и активируйте плагин, затем в разделе «Автообновления» поставьте нужные настройки — например, выключите обновления для выбранных плагинов или тем.
Отключение автообновлений через wp-cli
Если у вас есть доступ к командной строке сервера, для управления автообновлениями можно использовать wp-cli. Например, чтобы полностью отключить автообновления ядра, выполните:
wp config set WP_AUTO_UPDATE_CORE false --raw --type=constantДля отключения автообновлений плагинов через wp-cli специальной команды нет, но вы можете деактивировать обновления, изменяя код с фильтрами, как описано выше.
Как вернуть автообновления обратно
Если вы отключили автообновления, но хотите вернуть их назад, просто удалите добавленные константы и фильтры из кода или измените настройки в плагине Clearfy, вернув значения по умолчанию.
Для константы в wp-config.php:
define('WP_AUTO_UPDATE_CORE', true); // или просто удалить строкуДля фильтров в functions.php удалите добавленные функции или закомментируйте их.
Безопасность при отключении автообновлений
Отключая автообновления, обязательно следите за своевременным обновлением системы вручную. Рекомендуется:
- Регулярно проверять наличие обновлений в админке;
- Перед обновлением делать резервные копии сайта;
- Тестировать обновления на staging-сервере;
- Использовать плагины безопасности, например, Clearfy для дополнительной защиты.
Только так вы сохраните баланс между стабильностью и безопасностью.