Автоматические обновления плагинов в WordPress — удобная функция, которая помогает поддерживать сайт в актуальном состоянии и снижать риски безопасности. Однако в некоторых случаях необходимо отключить автообновления, чтобы избежать несовместимостей, протестировать обновления или применить индивидуальные настройки. В этой статье мы рассмотрим, как отключить автообновления плагинов с помощью кода, без использования сторонних плагинов.
Почему иногда нужно отключать автообновления плагинов в WordPress
Автообновления полезны, но могут вызвать проблемы:
- Обновление плагина может нарушить совместимость с темой или другими плагинами.
- На крупных проектах важны тесты перед обновлением на боевом сайте.
- Иногда хочется контролировать время и порядок обновлений.
- Автоматические обновления могут неожиданно изменить функционал.
Поэтому отключение автообновлений — важный инструмент для разработчиков и администраторов.
Как работает автообновление плагинов в WordPress
Начиная с версии 5.5, WordPress встроил автообновления для плагинов и тем. По умолчанию автообновляются только плагины и темы из официального репозитория, если пользователь это разрешил. Управление автообновлениями происходит через фильтры и интерфейс админки.
Для программного контроля используются фильтры:auto_update_plugin — отвечает за включение/отключение автообновления для конкретного плагина.auto_update_theme — для тем.
Отключаем автообновления всех плагинов через functions.php
Чтобы полностью отключить автообновления плагинов, добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:
add_filter('auto_update_plugin', 'wptips_disable_all_plugin_auto_updates', 10, 2);
function wptips_disable_all_plugin_auto_updates($update, $item) {
return false;
}
Этот фильтр всегда возвращает false, запрещая автоматическое обновление любого плагина. Работает для всех плагинов без исключений.
Преимущества и недостатки такого подхода
Плюсы:
- Простота и надежность.
- Полный контроль — обновления только вручную через админку или FTP.
Минусы:
- Необходимо регулярно проверять обновления вручную.
- Отсутствует автоматизация обновлений безопасности.
Отключение автообновлений для отдельных плагинов
Если нужно отключить автообновления только для конкретных плагинов, например, WooCommerce или Contact Form 7, используйте такой код:
add_filter('auto_update_plugin', 'wptips_disable_auto_update_for_selected_plugins', 10, 2);
function wptips_disable_auto_update_for_selected_plugins($update, $item) {
$plugins_to_disable = [
'woocommerce/woocommerce.php',
'contact-form-7/wp-contact-form-7.php'
];
if (in_array($item->plugin, $plugins_to_disable)) {
return false; // отключаем автообновление для выбранных плагинов
}
return $update; // для остальных — оставляем как есть
}
Здесь в массиве $plugins_to_disable указываются пути к главным файлам плагинов, как они идентифицируются в системе WordPress.
Как узнать путь плагина?
Путь плагина — это обычно папка и основной файл плагина через слэш, например akismet/akismet.php. Его можно увидеть в списке плагинов в админке или в каталоге wp-content/plugins.
Автоматическое включение автообновлений для некоторых плагинов
Иногда наоборот нужно отключить автообновления по умолчанию, а включить только для определённых плагинов. Например, для плагина Clearfy Pro с сайта https://wpshop.ru.
add_filter('auto_update_plugin', 'wptips_enable_auto_update_for_selected_plugins', 10, 2);
function wptips_enable_auto_update_for_selected_plugins($update, $item) {
$plugins_to_enable = [
'clearfy-pro/clearfy-pro.php'
];
if (in_array($item->plugin, $plugins_to_enable)) {
return true; // включаем автообновление
}
return false; // для остальных выключаем
}
Так вы контролируете обновления точечно, что повышает безопасность и стабильность сайта.
Использование плагина для управления автообновлениями
Если не хотите писать код, существует несколько плагинов для управления автообновлениями с удобным интерфейсом. Один из рекомендуемых — Clearfy Pro. Он позволяет выключать и включать автообновления для каждого плагина и темы, а также оптимизировать работу сайта и защитить его.
Другие популярные плагины:
- Easy Updates Manager — гибкое управление обновлениями.
- WP Auto Updater — автоматизация с расширенными настройками.
Но если нужен только простой контроль — код из статьи подойдет лучше всего.
Советы по безопасности при отключении автообновлений
Если вы отключили автообновления, обязательно регулярно проверяйте наличие обновлений и применяйте их вручную. Особенно важны обновления безопасности. Для этого:
- Используйте уведомления в админке WordPress.
- Подключите почтовые оповещения о новых версиях плагинов.
- Тестируйте обновления на тестовом сайте перед применением на боевом.
Кроме того, можно настроить автоматическое резервное копирование сайта перед обновлениями с помощью плагина My Popup или других решений.
Выводы и лучшие практики
Отключение автообновлений плагинов в WordPress — задача, которая часто возникает у продвинутых пользователей и разработчиков. Правильный подход позволяет избежать неожиданных сбоев и сохранить контроль над сайтом.
Используйте фильтр auto_update_plugin для гибкой настройки автообновлений через код, комбинируйте с проверкой безопасности и регулярным тестированием. При необходимости подключайте профессиональные плагины, такие как Clearfy Pro, для удобного управления и оптимизации.