Автоматические обновления плагинов в WordPress — это удобная функция, которая позволяет поддерживать безопасность и актуальность сайта без вашего участия. Однако иногда бывают ситуации, когда необходимо отключить автоматическое обновление отдельных плагинов или всех сразу. Например, если обновления вызывают конфликты с кастомным кодом или другими плагинами, или вы хотите тщательно тестировать каждое обновление перед применением.
Что такое автоматические обновления плагинов в WordPress
Начиная с версии 5.5, WordPress по умолчанию позволяет включать и отключать автоматические обновления для отдельных плагинов прямо из админ-панели. Это значительно упростило управление обновлениями, но иногда возникает необходимость более тонкой настройки или полного отключения этой функции.
Автоматические обновления включают:
- Обновления безопасности и багфиксы
- Обновления новых функций
- Обновления переводов
Безопасность сайта — важный аргумент в пользу автоматических обновлений, но если у вас сложный проект с кастомными доработками, автоматизация может привести к ошибкам на сайте.
Как отключить автоматические обновления плагинов через wp-config.php
Самый простой способ — добавить в файл wp-config.php следующую строку, которая полностью отключит автоматические обновления:
define('WP_AUTO_UPDATE_CORE', false);Однако это отключит автоматические обновления ядра WordPress, а не плагинов. Чтобы отключить именно обновления плагинов, рекомендуется использовать фильтры.
Отключение автоматических обновлений плагинов через фильтры в functions.php
Вы можете добавить в файл functions.php вашей темы или создать небольшой плагин для отключения обновлений всех плагинов:
add_filter('auto_update_plugin', '__return_false');Этот фильтр полностью отключит автоматические обновления плагинов.
Отключение обновлений для конкретного плагина
Если нужно отключить обновления только для определённого плагина, например для contact-form-7/wp-contact-form-7.php, используйте следующий код:
add_filter('auto_update_plugin', 'wppuzzle_disable_auto_update_for_plugin', 10, 2);
function wppuzzle_disable_auto_update_for_plugin($update, $item) {
if ($item->plugin === 'contact-form-7/wp-contact-form-7.php') {
return false;
}
return $update;
}Такой подход позволяет гибко управлять обновлениями и исключать из автоматического процесса только нужные плагины.
Использование плагинов для управления автоматическими обновлениями
Если вы предпочитаете визуальный интерфейс и более удобное управление, стоит обратить внимание на плагины:
- Enable/Disable Auto Updates — простой плагин для включения или отключения автообновлений для каждого плагина и темы.
- Clearfy Pro — мощный набор инструментов оптимизации WordPress, в том числе управление обновлениями.
Эти плагины позволяют не только отключать автоматические обновления, но и настраивать их по расписанию, создавать исключения и получать уведомления.
Практические советы по отключению автообновлений плагинов
Перед отключением автоматических обновлений обязательно:
- Убедитесь, что у вас есть надежная система резервного копирования сайта (например, с помощью плагина WPBackup).
- Тестируйте обновления на копии сайта или в staging-окружении.
- Проводите обновления вручную регулярно, чтобы не пропустить критические патчи.
Также рекомендуется вести журнал обновлений, чтобы понимать, какие версии плагинов установлены и когда они обновлялись.
Пример создания плагина для отключения автообновлений плагинов
Если вы хотите сделать собственный мини-плагин для управления автообновлениями, вот пример простого кода:
<?php
/*
Plugin Name: WPpuzzle Disable Plugin Auto Updates
Description: Отключает автоматические обновления плагинов, кроме Contact Form 7
Version: 1.0
Author: WPpuzzle
*/
add_filter('auto_update_plugin', 'wppuzzle_disable_auto_update_for_plugins', 10, 2);
function wppuzzle_disable_auto_update_for_plugins($update, $item) {
// Разрешаем автообновления только Contact Form 7
if ($item->plugin === 'contact-form-7/wp-contact-form-7.php') {
return true;
}
return false;
}
?>После установки и активации этого плагина, все плагины кроме Contact Form 7 не будут обновляться автоматически.
Как проверить, что автообновления отключены
В админке WordPress перейдите в раздел «Плагины» и посмотрите, есть ли надпись «Автоматическое обновление включено» рядом с нужными плагинами. Если надписи нет — автообновления отключены.
Также можно использовать WP-CLI команду:
wp plugin list --format=tableи проверить колонку auto-update.
Заключение
Отключение автоматических обновлений плагинов — полезный инструмент для разработчиков и администраторов, которые хотят контролировать процесс обновления и избегать неожиданных сбоев. Используйте фильтры WordPress или специальные плагины, не забывая про регулярные резервные копии и тестирование обновлений.