Автоматические обновления в WordPress — это удобная функция, которая обеспечивает своевременное обновление ядра, плагинов и тем, повышая безопасность и стабильность сайта. Однако в некоторых случаях администраторам сайтов требуется полный контроль над процессом обновления, чтобы избежать несовместимостей, сбоев или потери функционала. В этой статье мы подробно разберём, как отключить автоматические обновления в WordPress различного уровня — ядра, плагинов и тем — с примерами кода и рекомендациями.
Почему стоит отключать автоматические обновления в WordPress
Автоматические обновления устраняют уязвимости и ошибки без участия пользователя, но бывают ситуации, когда нужно их отключить:
- Сайт использует кастомные темы или плагины, несовместимые с новыми версиями.
- Необходимость тестирования обновлений на staging-среде перед внедрением на боевом сайте.
- Ограничения хостинга или специфические настройки сервера.
- Критическая важность стабильности сайта, например, интернет-магазин с высоким трафиком.
В этих случаях лучше взять процесс обновлений под контроль и запускать их вручную.
Как отключить автоматические обновления ядра WordPress
По умолчанию WordPress автоматически обновляет минорные версии ядра (например, с 6.2.1 до 6.2.2). Чтобы отключить это поведение, можно добавить следующий код в файл wp-config.php или в файл функции темы functions.php:
// Отключаем все автоматические обновления ядра
add_filter('automatic_updater_disabled', '__return_true');
// Или отключаем только минорные обновления ядра
add_filter('allow_minor_auto_core_updates', '__return_false');
Первый фильтр полностью блокирует любые автоматические обновления ядра, второй — только минорные. Выбирайте вариант, исходя из потребностей.
Пример функции с префиксом wponline
function wponline_disable_core_auto_updates() {
add_filter('automatic_updater_disabled', '__return_true');
}
add_action('init', 'wponline_disable_core_auto_updates');
Отключение автоматических обновлений плагинов и тем
Для отключения автообновлений плагинов и тем WordPress предоставляет фильтры:
auto_update_plugin— управление обновлениями плагинов;auto_update_theme— управление обновлениями тем.
Чтобы полностью запретить автообновления для всех плагинов и тем, добавьте в functions.php или плагин:
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
Или с использованием функции с префиксом wponline
function wponline_disable_plugin_theme_auto_updates() {
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
}
add_action('init', 'wponline_disable_plugin_theme_auto_updates');
Избирательное отключение обновлений для конкретных плагинов или тем
Иногда необходимо отключить автообновления не для всех, а только для отдельных плагинов или тем. Для этого фильтры принимают второй параметр — имя плагина или темы.
Пример — отключаем автообновления для плагина contact-form-7/wp-contact-form-7.php и темы twentytwentyone:
add_filter('auto_update_plugin', 'wponline_disable_specific_plugin_auto_update', 10, 2);
function wponline_disable_specific_plugin_auto_update($update, $item) {
if ($item->plugin === 'contact-form-7/wp-contact-form-7.php') {
return false; // Отключаем автообновление Contact Form 7
}
return $update;
}
add_filter('auto_update_theme', 'wponline_disable_specific_theme_auto_update', 10, 2);
function wponline_disable_specific_theme_auto_update($update, $item) {
if ($item->slug === 'twentytwentyone') {
return false; // Отключаем автообновление темы Twenty Twenty-One
}
return $update;
}
Отключение автообновлений через wp-config.php
Кроме фильтров, можно использовать константы в wp-config.php для контроля автообновлений:
define('AUTOMATIC_UPDATER_DISABLED', true);— отключает все автоматические обновления.define('WP_AUTO_UPDATE_CORE', false);— отключает автообновления ядра, но не плагинов и тем.
Добавьте эти строки в wp-config.php перед строкой /* That's all, stop editing! Happy publishing. */:
define('AUTOMATIC_UPDATER_DISABLED', true);
// или
// define('WP_AUTO_UPDATE_CORE', false);
Обратите внимание, что использование константы AUTOMATIC_UPDATER_DISABLED полностью блокирует любые автоматические обновления, включая плагинов и тем.
Дополнительные инструменты и плагины для управления обновлениями
Если вы предпочитаете использовать интерфейс и дополнительные возможности, рекомендуем обратить внимание на плагины:
- Enable/Disable Auto Updates — простой плагин для включения или отключения автообновлений по типам.
- Clearfy Pro — комплексное решение для оптимизации и управления обновлениями с удобным интерфейсом.
Использование плагинов удобно, если не хотите править код напрямую или хотите гибко управлять обновлениями.
Заключение по отключению автоматических обновлений
Полное отключение автоматических обновлений может повысить риск безопасности, если забывать обновлять вручную. Поэтому советуем:
- Отключать автообновления только при уважительной причине.
- Регулярно проверять наличие обновлений и тестировать их на тестовом сайте.
- Использовать инструменты для уведомлений о новых версиях.
Следуя представленным примерам, вы сможете точно настроить автообновления под задачи вашего сайта на WordPress, сохраняя баланс между безопасностью и стабильностью.