Как отключить автоматическое обновление wordpress. Автоматическое обновление WordPress. Как настроить? Запрет обновления wordpress

В октябре 2013 года вышла версия WordPress 3.7, а вместе с ней и новая фишка - автоматические обновления. Были и другие новинки, но сейчас не о них.

Авто-обновление стала самой яркой, очень полезной и удобной штукой. Теперь, при выходе новой версии WordPress обновит себя сам.

Общие знания про автообновления

В WP есть 4 типа авто-обновлений

    Ядро WordPress (движок)

    • «минорные релизы» (minor) - версии веток, например: 3.7 > 3.7.1 > 3.7.2. В них исправляются ошибки, уязвимости и баги.
      По умолчанию: Включено

      «мажорные релизы» (major) - основные версии, например: 3.9 > 4.0 > 4.1 > 4.2. В этих версиях добавляется новый функционал.
      По умолчанию: Отключено

    • «релизы разработчиков» (development) - релизы альфа и бета версий. Работает только если у вас установлена альфа или бета версия WordPress.
      По умолчанию: Включено, только если установлена альфа/бета версия движка

    Файлы переводов.
    По умолчанию: Включено

    Темы.
    По умолчанию: Отключено

  1. Плагины.
    По умолчанию: Отключено
Включено по умолчанию

По умолчанию авто-обновление включено только для «минорных релизов ядра» и «файлов перевода». Если у вас установлена альфа или бета версия wordpress, то «релизы разработчиков» также включены по умолчанию.

«Мажорные релизы» не подлежат авто-обновлению, потому что в них добавляется новый функционал, который может нарушить работу сайта.

Темы и плагины также не подлежат авто-обновлению, по понятным причинам...

Изменение настроек авто-обновления

Изменять поведение авто-обновления можно через константы в файле wp-config.php или через фильтры в плагинах или MU плагине . Константы также можно указывать в плагинах, если они еще не определены.

Также, можно использовать хуки в файле темы functions.php . Там еще не поздно (проверено).

Какие классы ядра отвечают за авто-обновление

За общую логику авто-обновлений отвечает класс WP_Automatic_Updater{} . В зависимости от типа обновления он вызывает классы:

Глобальное отключение авто-обновлений

Тут описаны варианты полного отключения авто-обновлений, отключает возможность как-либо настраивать авто-обновления на низком уровне, например через WP_AUTO_UPDATE_CORE (см. ниже).

Полностью отключить автообновления можно пятью способами.

1. AUTOMATIC_UPDATER_DISABLED - мягкое отключение

Если определить эту константу в файле wp-config.php или в плагине, то все автообновления будут отключены:

Define("AUTOMATIC_UPDATER_DISABLED", true); // полностью отключает автообновления

Однако такое отключение можно «перебить» хуком automatic_updater_disabled .

2. Хук automatic_updater_disabled - жесткое отключение

Чтобы отключить обновление полностью и не давать возможность изменять его через константу AUTOMATIC_UPDATER_DISABLED .

Add_filter("automatic_updater_disabled", "__return_true");

3. Хук auto_update_(type) - жесткое отключение

define("DISALLOW_FILE_MODS", true);

Авто-обновления ядра WordPress (движка)

Изменять настройки авто-обновления ядра WordPress, можно через константу WP_AUTO_UPDATE_CORE , которую можно добавить в файл wp-config.php или плагин:

# Включает обновления ядра только для минорных версий (по умолчанию) define("WP_AUTO_UPDATE_CORE", "minor"); # Отключает все обновления ядра define("WP_AUTO_UPDATE_CORE", false); # Включает все обновления ядра (минорные и мажорные) define("WP_AUTO_UPDATE_CORE", true);

Также авто-обновление ядра можно настроить через хуки. Они перебивают то что указано в константе WP_AUTO_UPDATE_CORE .

// авто-обновление минорных версий (версии внутри ветки) add_filter("allow_minor_auto_core_updates", "__return_false"); // авто-обновление мажорных версий (версии между ветками) add_filter("allow_major_auto_core_updates", "__return_false"); // авто-обновление версий разработчиков // (включено по умолчанию, если установлена альфа или бета версия движка) add_filter("allow_dev_auto_core_updates", "__return_false");

Чтобы включить или отключить обновления используйте "__return_true" или "__return_false" соответственно.

Авто-обновления тем и плагинов

По умолчанию авто-обновления отключены для тем и плагинов.

// Включение авто-обновлений для всех плагинов add_filter("auto_update_plugin", "__return_true"); // Включение авто-обновлений для всех тем add_filter("auto_update_theme", "__return_true");

Используйте __return_false вместо __return_true , чтобы наоборот отключить обновление.

Включение автообновления только для указанного плагина:

Add_filter("auto_update_plugin", "auto_update_specific_plugins", 10, 2); function auto_update_specific_plugins($update, $item){ // Массив ярлыков плагинов, которые нужно авто-обновлять $plugins = array ("akismet", "buddypress",); if(in_array($item->slug, $plugins)) return true; // обновлять else return $update; // вернем без изменений }

Авто-обновления файлов перевода

Для управления обновлением перевода, есть хук:

// отключим авто-обновление файлов перевода add_filter("auto_update_translation", "__return_false");

Уведомления об авто-обновлении на почту

При обновлении ядра, админ получает письмо об авто-обновлении. Такую отправку можно отключить через хук auto_core_update_send_email:

// отключим отправку письма об автообновлении add_filter("auto_core_update_send_email", "__return_false");

Почту куда отправлять письмо можно изменить через фильтр:

Advanced Automatic Updates

Для управления автообновлением создан плагин Advanced Automatic Updates .

Плагин отключает автообновление при активации и позволяет включить обновления по типам:

    Включить автообновление между ветками версий (major versions);

    Включить автообновление ядра внутри ветки (Minor and security versions);

    Включить автообновление плагинов (Update your plugins);

    Включить автообновление тем (Update your themes);

    Изменить почту на которую будут приходить письма об обновлении. Или отключить уведомление на почту (Disable email notifications);

  • Когда получать уведомления об ошибках (Debug Information).

Бывает так, что сталкиваешься с необходимостью уберечь функционал плагина от обновления. Такое, например, может случиться, когда доработаешь чей-то старый и редко обновляемый плагин, и не хочется потерять разом внесённые изменения, если вдруг автор сподобится выкатить апдейт. Вот, например, есть подобный пример. Как раз его я и возьму для описания далее.
А ещё бывает, что обновление несёт серьёзные изменения (такое периодически происходит с WooCommerce), и пока сайт не готов к ним, обновления нужно временно запретить.
Конечно, до запрета обновлять плагины лучше не доводить, ведь обновления выходят зачастую не просто так и, возможно, закрывают свежеобнаруженные дыры в безопасности. И, уж если вы решились на подобный шаг, то должны знать о возможных последствиях подобных решений.

Способ запретить обновление плагина №1: изменить номер версии

Самый простой, быстрый и действенный способ. Он не требует особых знаний, вы можете сделать это даже через штатный редактор в /wp-admin/
Можно добавлять строго определённые цифры, например, я добавляю несколько 9999 и разделяю точкой от текущей версии. Тем самым, при необходимости, можно безболезненно вернуть всё назад.

Теперь апдейтер Вордпресса не будет трогать ваш плагин даже при принудительном обновлении всех плагинов подряд, и при этом не будет возникать никаких ошибок.

Способ запретить обновление плагина №2: пишем код

Вариант немного сложнее для тех, кто умеет и любит писать код. Правда, мне лично он не нравится, потому что при обновлении любых плагинов выскакивают уведомления навроде
Warning: Attempt to modify property of non-object in /home/XXXXXX/public_html/wp-content/themes/XXXXXXX/functions.php on line 21
Если они вас не смущают, пользуйтесь вариантом ниже.

Add_filter("site_transient_update_plugins", "sheensay_site_transient_update_plugins"); // Вешаем функцию на специальный фильтр function sheensay_site_transient_update_plugins ($value) { unset($value->response["webmaster-yandex/webmaster-yandex.php"]); // Здесь указывается относительный путь к главному файлу плагина return $value; }

Строго говоря, мы отключаем уведомления о необходимости обновить плагин. Вместе с этим и отключается обновление.

Сегодня я обнаружил, что мой WordPress требует каких то обновлений. Я открыл админку, и увидел, что обновления требует моя тема вордпресс.


Если это произошло бы года три назад, то я не задумываясь нажал бы кнопку ОБНОВИТЬ. И потом бы очень жалел 🙁 Знаете почему? Потому что тут же маленькими буквами написано:

ВСЕ ИЗМЕНЕНИЯ В ФАЙЛАХ БУДУТ УТЕРЯНЫ!

А это значит, что если вы неделю допиливали свою тему, редактировали стили, вычищали ссылки, ставили счетчики, добавляли , то одним нажатием кнопки вы все это теряете навсегда…

Если у вас есть резервная копия, то можно все восстановить, но сколько это займет времени? И если она?

Чтобы всего этого случайно не произошло, даже просто по случайности, лучше заблокировать саму эту возможность обновления темы.

Как отключить обновление темы wordpress?

Проблему можно решить установкой одного маленького плагина — Disable Theme Updates.

После этого эти обновления темы больше не будут вас беспокоить. Конечно, решить это как то без плагина было бы лучше, но я не знаю как. Может знаете вы? Но только так, чтобы после обновления самого вордпресс все оставалось на месте.

Кстати, заметку побудил написать меня реальный случай, когда одна девушка вебмастер (неопытная) обновила тему у своего блога и потом удивлялась — куда все пропало? Так что кому то это напоминание будет полезно 🙂


Не нашли ответ? Воспользуйтесь поиском по сайту

Привет уважаемые читатели сайт! Продолжаем изучать один из популярных движков сайта WordPress. Который после последнего обновления до 5-ой ошарашил вебмастеров новым редактором статей Гутенберг, к которому до сих пор не каждый приспособился, да и ошибки там все еще есть.

В виду этих событий в статье я показал, как временно удалось решить проблему с Gutenberg, но в комментариях многие пользователи были обеспокоены тем, что Вордперсс имеет привычку самостоятельно обновляться и если даже вбемастер хочет оставить в работе старую версию CMS, алгоритмы все равно ее могут самостоятельно обновить.

Вордпресс автоматически обновляется или нет?

Кто только сейчас начинает создавать сайты возможно не знает как раньше работал , но если выходило новое обновление в админ панели просто отображалось сообщение о том, что надо обновиться.

При этом последнее слово оставалось за вебмастером, а сообщение носило только информативный характер.

Но все изменилось, когда появился WordPress версии 3.7 с этого момента движок может обновляться без участия владельца сайта, а на почту придет уведомление, о завершении процесса.

Сделано конечно же это было для безопасности сайтов, но на практике такие внезапные апдейты приносят головную боль администраторам проектов, так как может слететь дизайн и нарушиться работа модулей, ведь многие из нас что-то сами допиливают в файлах движка, поэтому лучше каждый апдейта лично контролировать и в случае чего быстро устранить ошибки.

Важно! В фоновом режиме автоматически могут обновляться только мелкие версии движка — 3-я цифра. То есть без вашего участия может обновиться версия 4.8.1 до 4.8.2 или с 4.9 до 4.9.1

А вот глубокое обновление CMS, например, с версии 4.8 до 4.9 или 4.9 до 5 .0 возможно только с вашего согласия.

Поэтому особо волноваться не стоит.))

Как отключить обновление WP автоматически и вручную

1) Начнем с самого простого способа, который заключается в установке специальных плагинов .

— это самый известный модуль, который отключает возможность обновиться движку, плагинам и темам.

Работа модуля очень простая, надо его установить и активировать, после чего никаких уведомлений о новых версиях CMS вы не увидите.

Для того, чтобы что-то обновить, деактивируете плагин, апитесь и включаете его обратно.

Однако у этого способа есть огромный минус. Как и любой модуль на сайте, это дополнительная нагрузка на скорость работы сайта.

Поэтому если вы не любите разбираться в коде php файлов или боитесь это делать, то ставьте данный плагин, а если не хотите нагружать сайт, тогда читаем дальше.

2) Второй способ заключается в правке php файлов .

Как по мне проще собственноручно добавить одну строчку кода в код сайта и забыть о проблеме.

Делается это несколькими способами.

Проще всего зайти в корень сайта и найти файл конфигураций CMS wp-config.php в котором надо прописать команду AUTOMATIC_UPDATER_DISABLED на полный запрет обновления движка, тем и плагинов.

// запрет автоматического обновления ВП, плагинов и тем define("AUTOMATIC_UPDATER_DISABLED", true);

Вот как это выглядит на практике.

Но если вы не хотите, чтобы под запрет попадали плагины и темы, тогда можно использовать команду WP_AUTO_UPDATE_CORE её вставляем все в тот же файл wp-config.php , вместо предыдущего кода.

Команда может принимать 3 значения.

// запрещает автоматическое обновление ядра WordPress define("WP_AUTO_UPDATE_CORE", false); // разрешает апгрейд любой версии WordPress define("WP_AUTO_UPDATE_CORE", true); // разрешает только мелкие обновления (третья цифра версии WordPress) define("WP_AUTO_UPDATE_CORE", "minor");

На этом все, теперь обновления Вордпресс вас больше беспокоить не будут и можно смело продолжить работу по ведению сайта.

А как вы избегаете апдейта WP пишите в комментариях.

Ядро WordPress обновляется автоматически, без участия пользователей. Есть ряд ситуаций, по которой подобные обновления не желательны, и в этой статье мы рассмотрим несколько способов отключить автоматическое обновление WordPress.

В первую очередь стоит отметить, что автоматические обновления (по умолчанию) касаются лишь технических релизов — это те, которые устраняют некоторые критические ошибки и уязвимости WordPress. Пропускать подобные обновления не безопасно и крайне не рекомендуется, а система отката сможет восстановить вашу прежнюю версию, в случае каких-либо сбоев при попытке обновления.

Есть три основных причины, по которым вам следует отключить автоматическое обновление WordPress:

  • Вы используете систему контроля версий, в том числе и для обновлений
  • Вы пользуетесь какими-либо средствами для развёртывания проектов на удалённых серверах, например Capistrano или SaltStack
  • Вы являетесь хостинг-провайдером и выполняете обновления самостоятельно и вовремя для всех ваших клиентов

Управление автоматическим обновлением

Существует несколько констант, для управления автоматическими обновлениями в WordPress, их вы можете устанавливать в файле конфигурации wp-config.php. Например, чтобы полностью отключить механизм автоматических обновлений, используйте константу AUTOMATIC_UPDATER_DISABLED:

Define("AUTOMATIC_UPDATER_DISABLED", true);

Учтите, что с помощью этой директивы, вы так же отключите автоматические обновления языковых пакетов, тем и плагинов, если они включены. С помощью константы WP_AUTO_UPDATE_CORE , вы можете управлять автоматическим обновлением ядра WordPress.

Значение по умолчанию — minor , разрешит автоматическое обновление только на технические релизы, например с 3.7 на 3.7.1 и на 3.7.2, но не на 3.8, 3.9 и т.д. Значением false вы можете полностью отключить автоматическое обновление ядра, а значением true вы можете включить автоматическое обновление для всех релизов (а не только технических):

// Только технические релизы, 3.7 до 3.7.1, 3.7.2 и т.д. (значение по умолчанию) define("WP_AUTO_UPDATE_CORE", "minor"); // Все релизы, 3.7 до 3.8, 3.9 и т.д. define("WP_AUTO_UPDATE_CORE", true); // Отключить автоматическое обновление ядра define("WP_AUTO_UPDATE_CORE", false);

Вы так же можете воспользоваться специальными фильтрами для управления автоматическими обновлениями ядра:

  • allow_major_auto_core_updates — обновление основных релизов (с 3.7 на 3.8)
  • allow_minor_auto_core_updates — обновление на технические релизы (с 3.7 на 3.7.1 и 3.7.2)
  • allow_dev_auto_core_updates — обновление на версии для разработчиков (с 3.7-RC до 3.7-RC2)
  • auto_update_core — разрешить автоматическое обновление ядра

Вы можете написать простой плагин, чтобы использовать эти фильтры на вашем сайте. Например, чтобы разрешить обновление основных релизов:

/** * Plugin Name: Enable Major Core Updates */ add_filter("allow_major_auto_core_updates", "__return_true");

А чтобы запретить автоматическое обновление ядра WordPress:

Add_filter("auto_update_core", "__return_false");

Автоматическое обновление тем и плагинов WordPress

По умолчанию WordPress не будет автоматически обновлять ваши темы и плагины, но это можно легко изменить с помощью фильтров auto_update_theme и auto_update_plugin:

/** * Plugin Name: Auto-update Plugins and Themes */ add_filter("auto_update_theme", "__return_true"); add_filter("auto_update_plugin", "__return_true");

Таким же образом, если автоматическое обновление тем и плагинов включено, вы можете легко его отключить используя вспомогательную функцию __return_false .

Системы контроля версий

Перед тем как выполнить автоматическое обновление, WordPress выполнит поиск директорий.svn, .git, .hg и.bz — это вспомогательные директории систем контроля версий Subversion, Git, Mercurial, и Bazaar. В случае обнаружения одной из них, автоматическое обновление выполняться не будет.

Если вы используете систему контроля версий и всё равно хотите, чтобы ядро WordPress обновлялось автоматически, вы можете воспользоваться фильтром automatic_updates_is_vcs_checkout .

В заключении хотелось бы вновь отметить, что отключать автоматическое обновление ядра WordPress не рекомендуется, особенно когда речь идёт о технических релизах, которые часто содержат устранение уязвимостей. Если по какой-либо причине автоматическое обновление на вашем сайте невозможно, вы можете воспользоваться специальным плагином Background Update Tester , который поможет вам найти и устранить причину.

Подробнее о том, почему стоит всегда обновлять WordPress, плагины и темы, читайте в .

Что еще почитать