Диагностика проблемы: зачем и когда отключать автоматические обновления плагинов
Автоматические обновления плагинов в WordPress появились для повышения безопасности и поддержания актуальности кода. Однако на некоторых проектах это может привести к неожиданным сбоям из-за несовместимости новой версии плагина с темой или другими расширениями. Особенно это актуально для кастомных сайтов и WooCommerce-магазинов, где стабильность критична.
Часто встречаются ситуации:
- Обновление плагина ломает функциональность;
- Обновление приводит к конфликтам с кастомными доработками;
- Нужно тестировать обновления на staging-сервере перед публикацией;
- Желание контролировать процесс обновления вручную.
Как проверить, включено ли автоматическое обновление плагинов
В WordPress 5.5+ автоматические обновления плагинов можно включать/отключать прямо из админки:
- Перейдите в Плагины > Установленные плагины;
- В колонке "Автоматическое обновление" увидите статус для каждого плагина;
- Если стоит "Включено", автоматические обновления активны.
Для проверки через код можно использовать WP-CLI:
wp plugin list --format=table
Но автоматические обновления не отображаются напрямую, для этого нужен дополнительный код или просмотр через админку.
Пошаговое решение: как отключить автоматическое обновление плагинов
Способ 1: Отключение через админку WordPress
Самый простой вариант — в списке плагинов нажать на ссылку "Отключить автообновление" напротив нужного плагина.
Способ 2: Отключение автоматических обновлений через код в functions.php
Для полного контроля можно добавить следующий код в файл functions.php активной темы или в кастомный плагин:
add_filter('auto_update_plugin', 'disable_auto_update_for_specific_plugins', 10, 2);
function disable_auto_update_for_specific_plugins($update, $item) {
// Список плагинов для отключения автообновлений
$plugins_to_disable = array(
'akismet/akismet.php',
'woocommerce/woocommerce.php'
);
if (in_array($item->plugin, $plugins_to_disable)) {
return false; // Отключаем автообновления для этих плагинов
}
return $update; // Для остальных оставляем как есть
}
Здесь $item->plugin — относительный путь к главному файлу плагина.
Способ 3: Отключить все автоматические обновления плагинов
add_filter('auto_update_plugin', '__return_false');
Этот код полностью отключит автообновления для всех плагинов.
Проверка результата после внедрения
- Вернитесь в админ-панель > Плагины и убедитесь, что в колонке автоматического обновления напротив нужных плагинов стоит "Отключено".
- Можно проверить файл
wp-config.phpи логи обновлений, чтобы убедиться, что обновления не запускаются автоматически. - Для отладки добавьте временно логирование в фильтр:
add_filter('auto_update_plugin', function($update, $item) {
error_log('Auto update check for: ' . $item->plugin . ' - ' . ($update ? 'enabled' : 'disabled'));
return $update;
}, 10, 2);
Частые ошибки и как исправить
- Ошибка: Автообновления продолжают включаться после добавления кода.
Причина: Кэширование или конфликт с другими плагинами.
Решение: Очистите кэш сайта и серверный кэш, отключите плагины кэширования, проверьте приоритет фильтра. - Ошибка: Фильтр написан с ошибками, из-за чего автообновления отключаются для всех плагинов.
Решение: Проверьте корректность массива и условных операторов, используйтеin_arrayс точными путями. - Ошибка: Автообновления плагинов управляются централизованно через сторонние сервисы (например, ManageWP), игнорируя локальные настройки.
Решение: Управляйте обновлениями через эти сервисы или отключайте синхронизацию.
Практические советы по безопасности и производительности
- Отключая автообновления, не забывайте регулярно проверять и вручную обновлять плагины — устаревшие версии представляют угрозу безопасности.
- Для крупных проектов рекомендуется настроить staging-среду, где обновления тестируются перед переносом на рабочий сайт.
- Используйте плагин Clearfy Pro (https://wpshop.ru/plugins/clearfy?utm_source=wp-1.ru&utm_medium=article&utm_campaign=kak-otkluchit-avtomaticheskoe-obnovlenie-plaginov-v-wordpress) для оптимизации управления обновлениями и отключения ненужных функций.
Сравнение способов отключения автоматических обновлений плагинов
| Способ | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| Админка WordPress | Просто, быстро, без кода | Только для отдельных плагинов, не автоматизируемо | Если нужно быстро отключить автообновления для пары плагинов |
| Код в functions.php с фильтром | Гибко, можно отключать определённые плагины, автоматизируемо | Требует доступа к файлам, знания PHP | Для контроля обновлений в продакшене и кастомных проектах |
| Полное отключение через код | Максимальный контроль, быстро | Риск забыть обновить плагины, безопасность | Для сайтов с собственным процессом обновления |