Как отключить автообновления WordPress: ядро, плагины, темы

Полный контроль над обновлениями WordPress нужен на staging, при жёстком change management или когда major-релизы плагинов ломают прод. Ниже: как отключить автообновления ядра, плагинов и тем, и чем это отличается от «одной галочки».

Константы в wp-config.php

В wp-config.php (до строки /* That's all, stop editing! ... */) работают именно define, не фильтры:

// Выключить весь автоматический updater (ядро, переводы и т.п. в рамках auto-updater)
define( 'AUTOMATIC_UPDATER_DISABLED', true );

// Только ядро: false = без auto core; 'minor' = только минорные
define( 'WP_AUTO_UPDATE_CORE', false );

AUTOMATIC_UPDATER_DISABLED – грубый рубильник. WP_AUTO_UPDATE_CORE – точечно по ядру. Часто достаточно комбинации: ядро на 'minor' (security), плагины – вручную.

Плагины и темы: фильтры, не wp-config

add_filter() в wp-config.php не сработает как ожидается: конфиг подключается до загрузки плагинов и API фильтров. Фильтры кладите в mu-plugin или в functions.php активной темы (лучше mu-plugin – не зависит от смены темы):

// wp-content/mu-plugins/disable-auto-updates.php
<?php
add_filter( 'auto_update_plugin', '__return_false' );
add_filter( 'auto_update_theme', '__return_false' );
// при необходимости:
// add_filter( 'auto_update_translation', '__return_false' );

Каталог wp-content/mu-plugins/ создайте при отсутствии; PHP-файлы из него подхватываются автоматически (для подпапок нужен loader-файл в корне mu-plugins).

Через плагин-менеджер

Easy Updates Manager и аналоги дают UI: отдельно ядро / плагины / темы / переводы, иногда – «логировать, но не ставить».

  1. «Плагины → Добавить новый» → установить менеджер обновлений.
  2. В настройках выключить нужные типы auto-update.

Удобно для нетехнических админов. Минус – зависимость от стороннего плагина на критичном контуре.

Ручной цикл после отключения

  • «Консоль → Обновления» – смотреть ядро, плагины, темы.
  • Перед пакетом обновлений: бэкап БД и файлов, changelog критичных плагинов.
  • Сначала staging, smoke-тест (вход, формы, корзина/личный кабинет, ключевые шаблоны), затем прод.

Что выбрать

  • Только не ставить major ядра самоWP_AUTO_UPDATE_CORE = 'minor'.
  • Полный ручной контрольAUTOMATIC_UPDATER_DISABLED + фильтры плагинов/тем + регламент.
  • UI без правки файлов – менеджер обновлений.

Краткий вывод

Автообновления отключаются константами в wp-config.php и фильтрами в mu-plugin (для плагинов и тем). Не путайте define и add_filter – им разные места. Отключение без регулярных ручных патчей повышает риск: security-релизы WordPress и популярных плагинов выходят часто, и «и так работает» здесь слабый аргумент.

Источники и ссылки


Комментарии загружаются…