Автоматические обновления в WordPress — полезная функция, которая помогает поддерживать сайт в безопасности и актуальности. Однако в некоторых случаях необходимо отключить автоматические обновления, например, чтобы избежать конфликтов с кастомными плагинами или темами, протестировать обновления на staging-сервере, либо сохранить стабильность работы сайта в критический период.
Почему стоит отключать автоматические обновления в WordPress
По умолчанию WordPress автоматически обновляет ядро до минорных версий (например, с 6.1.1 до 6.1.2), а также обновляет языковые файлы и некоторые плагины и темы. Это снижает риск безопасности, но иногда приводит к неожиданным ошибкам и несовместимостям, особенно на сложных кастомных проектах.
Отключение автоматических обновлений позволяет:
- Контролировать процесс обновления и тестировать его на копии сайта.
- Избежать сбоев из-за несовместимости новых версий плагинов или тем.
- Снизить нагрузку на сервер в критические периоды.
Однако стоит помнить, что отключение обновлений увеличивает риск уязвимостей, поэтому важно своевременно выполнять ручные обновления.
Как отключить автоматические обновления через wp-config.php
Самый простой способ — добавить константу в файл wp-config.php. Это отключит все автоматические обновления ядра WordPress:
define('WP_AUTO_UPDATE_CORE', false);
Эта строка блокирует обновления ядра как для минорных, так и для мажорных версий. Если нужно отключить только мажорные обновления, а минорные оставить, можно использовать такую настройку:
define('WP_AUTO_UPDATE_CORE', 'minor');
Для полного отключения всех автоматических обновлений (плагинов и тем) понадобится дополнительный код.
Отключение автоматических обновлений плагинов и тем через функции темы
WordPress позволяет управлять обновлениями плагинов и тем с помощью фильтров. Чтобы отключить автоматические обновления плагинов и тем, добавьте следующий код в файл functions.php вашей темы или в плагин для кастомных функций:
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
Этот код полностью отключит автоматическое обновление всех плагинов и тем.
Как отключить обновления для отдельных плагинов или тем
Иногда нужно отключить обновления только для конкретных плагинов. Для этого можно использовать более сложный фильтр с проверкой названия плагина:
add_filter('auto_update_plugin', 'wpdirect_disable_auto_update_specific_plugin', 10, 2);
function wpdirect_disable_auto_update_specific_plugin($update, $item) {
// Список плагинов, которые не надо обновлять автоматически
$excluded_plugins = [
'akismet/akismet.php',
'hello-dolly/hello.php'
];
if (in_array($item->plugin, $excluded_plugins)) {
return false; // отключаем автообновление для этих плагинов
}
return $update; // для остальных - оставляем как есть
}
Аналогично можно сделать для тем, проверяя $item->theme.
Использование плагинов для управления автоматическими обновлениями
Если вы предпочитаете графический интерфейс или хотите более тонко настраивать обновления, можно использовать плагины. Например:
- Easy Updates Manager — позволяет гибко управлять автоматическими обновлениями для ядра, плагинов, тем и переводов.
- WP Auto Update Control — простой плагин для включения/отключения автообновлений.
При использовании Easy Updates Manager на https://wpshop.ru/plugins/easy-updates-manager/ вы получаете удобный интерфейс с настройками, где можно отключить автообновления как глобально, так и для отдельных компонентов.
Практические советы и возможные проблемы
После отключения автоматических обновлений важно регулярно проверять наличие обновлений вручную. Для этого можно использовать административную панель WordPress или WP-CLI:
wp plugin update --all
wp theme update --all
wp core update
Если обновления не выполняются вовремя, сайт может стать уязвимым или несовместимым с новыми версиями PHP и серверного ПО.
Также учитывайте, что некоторые хостинги могут иметь свои настройки автообновлений, которые могут переопределять настройки WordPress. В таких случаях стоит проконсультироваться с техподдержкой.
Выводы
Отключение автоматических обновлений в WordPress — полезный инструмент для профессиональных разработчиков и администраторов, которые хотят иметь полный контроль над обновлениями сайта. Комбинируйте настройку через wp-config.php, фильтры и плагины, чтобы добиться оптимального результата и избежать неожиданностей.