Контакты

Как отключить автообновление вордпресс. Как отключить автоматическое обновление WordPress

Релиз WordPress 3.7, вышедший в октябре 2013 года, открыл нам доступ к функциям, которые пришлись по вкусу одним и оказались совершенно ненужными для других. На повестке дня автоматическое обновление минорных релизов ядра WordPress. При появлении нового минорного релиза (версия 3.9.1, например), WordPress теперь может автоматически обновлять ядро системы – великолепная новость для большинства пользователей WordPress, но, как оказалось, не для всех.

Зачем отключать автоматические обновления?

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

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

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

Возможно, вы попали в одной из тех ситуациях, в которых у вас появляется веская причина, чтоб отключить функцию автообновления на вашем сайте. Так, как же можно это сделать? Существует два способа проделать этот трюк:

  • С помощью плагина
  • Добавить кусочек кода

Так как использование плагина представляется нам самым простым способом добиться поставленной цели, то давайте начнем с этого.
Замечание: если используете систему управления версиями, например, Git, Subversion, Mercurial или Bazaar, то эта функция будет отключена в WordPress автоматически, так что вам не о чем волноваться.

А вот и плагин для этого

В репозитории WordPress вы найдете плагин, который называется Advanced Automatic Updates . После установки, зайдите на страницу с настройками плагина, где вы можете отключить нежелательные автоматические обновления, включая мажорные релизы ядра, плагинов и тем, а также дефолтные минорные релизы, для которых и была разработана функция.

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

Замечание: Функция обновления темы будет работать только в том случае, если она скачана с официального репозитория WordPress.

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

Отключение функции автообновления

А что делать, если вам не хочется устанавливать лишний плагин на ваш сайт? Так как пользовательский интерфейс WordPress не имеет никакого рычажка, чтоб отключить сей функционал, то вам придется засучить рукава и покопаться в коде. Поверьте мне, это не так уж и сложно. Все, что вам нужно сделать, это добавить этот кусок кода в ваш файл wp-config.php:

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

/* That"s all, stop editing! Happy blogging. */

(Здесь есть предложение – одно простое и быстрое правило: мне нравится держать все мои нестандартные версии файла wp-config здесь, чтоб я мог их легко найти. Но это ваше дело, где их держать.)

Включение обновлений для мажорных релизов

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

/* turn on both minor and major WordPress automatic core updates*/ define("WP_AUTO_UPDATE_CORE", true);

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

Если вы хотите, чтоб ваши темы и плагины, скачанные из репозитория WordPress, обновлялись автоматически, то код для этого весьма похож на тот, который мы только что использовали, но на этот раз для того, чтоб включить обновления нужен еще и фильтр (Читайте замечание выше, в котором говорится о связи автоматических обновлений и репозитория).

Для автоматического обновления плагинов, используйте этот код:

add_filter("auto_update_plugin", "__return_true");

И чтоб сделать тоже самое для тем, примените вот этот код

Add_filter("auto_update_theme", "__return_true");

Отключение всех обновлений

Допустим, вы решили, что вашему сайту вообще не нужны автоматические обновления. Вы гуру вашего домена (и веб-сайта, и возможно, email…но это к делу не относится) и решили заниматься обновлениями исключительно самостоятельно. Вот, как можно это сделать:

/* I am the captain of this ship, I’ll do my own updates thanks*/ define (‘ AUTOMATIC_UPDATER_DISABLED’, true);

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

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

/* Disable WordPress automatic updates */ define("WP_AUTO_UPDATE_CORE", false);

Затем добавим код включения обновлений тем и плагинов:

Add_filter("auto_update_plugin", "__return_true"); add_filter("auto_update_theme", "__return_true");

Email-уведомления

И еще один трюк напоследок – мы собираемся отключить Email-уведомления, которые вы получаете по завершении обновления. На этот раз, вместо того, чтоб добавить код в wp-config.php, мы вставим его в файл functions.php вашей активной темы.

/** * Disable the auto genereated email sent to the admin after a core update */ apply_filters("auto_core_update_send_email", false, $type, $core_update, $result);

И, вот, мы добились полного контроля над тем, как в автоматическом режиме обновляется ядро, плагины и темы WordPress-сайта. И еще вы можете отключить email-уведомления.

Подготовил маленькую, но очень полезную статью, с помощью которой вы сможете отключить уведомление о просьбе обновить WordPress или плагин .
Спросите зачем?
Например, по той причине, что когда вы делаете сайт для заказчика и любое обновление WordPress или плагина может поломать корректную работу сайта.
Во избежание таких «попандосиков» я в последнее время стал отключать такую возможность.
Итак, приступим.

Как отключить уведомление об обновлении WordPress и плагинов?

Чтобы отключить уведомление об обновлении WordPress или плагинов, откройте файл «functions.php » вашей активной темы и вставьте туда вот такой код (перед знаком «?> »):

//===== отключить уведомление об обновлении плагинов и вордпресс=====// add_filter("pre_site_transient_update_core",create_function("$a", "return null;")); wp_clear_scheduled_hook("wp_version_check"); remove_action("load-update-core.php", "wp_update_plugins"); add_filter("pre_site_transient_update_plugins", create_function("$a", "return null;"));

После сохранения файла назойливое уведомление исчезнет:

Как отключить автоматическое обновление WordPress , плагинов и тем?

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

Способ 1:
в файле конфигурации «wp-config.php » можно полностью отключить механизм автоматических обновлений. Используйте константу AUTOMATIC_UPDATER_DISABLED со значением «true »:

Define("AUTOMATIC_UPDATER_DISABLED", true);

Способ 2:
в файле «functions.php » вашей активной темы прописать вот такой код (перед знаком «?> »):

Add_filter("auto_update_core", "__return_false");

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

Значок показывает, что нужно обновить 4 темы. Рекомендую из верхней панели значок тоже убрать. Как удалить остальные пункты смотрите .

В файле «functions.php » вашей активной темы прописать вот такой код (перед знаком «?> »):

//удаление из панели элементов меню start function wph_new_toolbar() { global $wp_admin_bar; $wp_admin_bar->remove_menu("updates"); //меню "обновления" } add_action("wp_before_admin_bar_render", "wph_new_toolbar"); //удаление из панели элементов меню end

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

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

От автора: обновления программ, CMS и прочих операционных систем — вещь нужная и штука полезная. Если говорить серьезно, то апгрейд любой CMS не нужно откладывать в долгий ящик и желательно сделать как можно оперативнее после выхода очередного обновления. Это не только залог получения нового функционала, но и дополнительная гарантия безопасности вашего сайта. Можно считать это правилом. Однако из любого правила есть исключения. Обновление WordPress — не исключение, сори за тавтологию. Сейчас мы попробуем разобраться в вопросе как отключить обновления на WordPress.

АВТОМАТИЧЕСКОЕ ОБНОВЛЕНИЕ WORDPRESS

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

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

Что же это за исключение такое, согласно которому может не рекомендоваться обновление WordPress? — можете спросить вы. На самом деле это действительно вполне возможная ситуация. Например, вы сделали сайт на заказ. Дополнительно установили на сайт несколько плагинов — все превосходно работает. Отлично!

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

Однако, сказав веское «нельзя» и даже пригрозив всеми смертными карами, мы никак не можем быть уверены, что клиент все же однажды не перейдет по запретной ссылочке и не нажмет на открывшейся странице кнопочку. Давно ведь известно — запретный плод сладок. Все может и обойтись в этом случае. А возможен и другой вариант: среди ночи вас подымает звонок паникующего клиента, который кричит: «Все пропало!!!»

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

Думаю, ситуация понятна: порой обновление WordPress бывает лишним, тем более автоматическое.

ЗАПРЕТ ОБНОВЛЕНИЯ WORDPRESS

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

Первая константа полностью запрещает автоматическое обновление. Под словом «полностью» подразумеваются все возможные обновления: ядро, темы, плагины… Если вас устраивает такой вариант (а зачастую это так), тогда в файле wp-config.php пропишите следующую строку кода:

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

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

true — позволяет апгрейд на любую версию WordPress

false — запрещает автоматическое обновление WordPress

‘minor’ — разрешает только технические релизы (изменение третьей цифры в версии), например с 4.1.1 на 4.1.2, затем на 4.1.3… но переход с версии 4.1 на 4.2 — невозможен

Это был первый вариант. Он вполне подойдет для запрета автоматического обновления WordPress. Но как же запретить клиенту обновлять WordPress? Как сделать «запретный плод» по-настоящему запретным? Об этом далее.

КАК УБРАТЬ СООБЩЕНИЕ ОБ ОБНОВЛЕНИИ WORDPRESS

Это второй возможный вариант. Заключается он в использовании плагина. И здесь уже масса вариантов. Ограничусь пока перечислением некоторых из них.

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

Disable All Updates & Notifications. Убирает сообщение и запрещает все обновления. Плагин не имеет никаких настроек и все делает по умолчанию.

Disable WordPress Core Updates. Аналог предыдущего плагина.

Думаю, этого уже достаточно. Здесь есть небольшой нюанс. Мы действительно запрещаем обновления и убираем сообщение о новой версии. Но вот в меню остается пункт Обновления, куда случайно может забрести клиент.

Было бы неплохо убрать этот пункт из меню, чтобы клиент не нажал на злосчастную кнопку. Сделать это довольно просто. Откройте файл функций активной темы — functions.php — и добавьте в него следующий код.

То наверняка знаете, что начиная с версии 3.7, помимо появления новых функций и исправлений безопасности, команда разработчиков добавила интересную особенность — автоматическое обновление .

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

Обратите внимание: автоматически WP будет обновляться только до промежуточных версий, которые содержат незначительные изменения — в большинстве случаев это технические релизы.

То есть для перехода с версии 3.7 до 3.7.1 или с 3.8.1 до 3.8.2 не требуется участие администратора. Уведомление о появлении новой версии с предложением появится только в случае выпуска мажорной версии, например при переходе с 3.8.x до 3.9.

Поддерживает ли сайт автоматическое обновление?

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

После его установки в консоли администратора появится ссылка на страницу с результатом проверки. В моем случае все проверки пройдены и блог поддерживает автоматическое обновление, отлично. Исходя из результатов можно сделать вывод, что для поддержки данной функции необходимо выполнение следующих условий:

  • установленная версия WP может надежно взаимодействовать с WordPress.org
  • не используются системы контроля версий
  • не требуется доступ к FTP для установки обновлений
  • файлы WordPress могут быть перезаписаны

Таким образом нам удалось выяснить, поддерживается ли автоматическое обновление. Безусловно, эта функция окажется полезной для большинства пользователей .
Тогда зачем ее отключать? Ниже приведу несколько примеров из личного опыта, когда обновление, тем более без ведома администратора, может иметь неприятные последствия.

Пример №1. Допустим, Вы используете множество плагинов. В один прекрасный момент появляется новая версия WP и она автоматически устанавливается. Чем это может обернуться? А тем, что один из них может запросто перестать работать после очередного обновления! Пройдет некоторый промежуток времени, прежде чем сбой будет обнаружен, а ситуация взята под контроль.

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

2 способа отключить автоматическое обновление

Способ №1: плагин . Это простой и быстрый способ получить дополнительный контроль над обновлениями. Вы можете получить доступ к настройкам плагина в меню Параметры —> Общие (пролистайте страницу ниже до Automatic Updates):

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

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

Define("WP_AUTO_UPDATE_CORE" , false );

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

Define("WP_AUTO_UPDATE_CORE" , true );

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

Define("WP_AUTO_UPDATE_CORE" , "minor" );

Если у Вас на блоге установлены устаревшие плагины или вручную отредактированы файлы ядра, то в таком случае я рекомендую отключить функцию автоматического обновления WordPress и всегда проверять совместимость тем и плагинов с последней версией WP. А после ручного обновления проверять их работоспособность и в случае конфликта версий делать откат.

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

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

Как отключить уведомления на обновления в админке?

Вот так выглядят уведомления в админке:

Необходимо убрать уведомления на обновление тем, плагинов и самого WordPress . Для этого переходите во вкладку Внешний вид -> Редактор и откройте файл function.php активной темы и в самый низ вставьте следующий код:

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

Я показал вам такую возможность, как отключение обновлений , лишь с технической стороны, не учитывая возросший риск быть взломанным. Ведь клиент, сайт которого взломали, все равно будет вам звонить. Да как же быть то!? И так плохо, и сяк плохо.

Поиск компромисса

Если по какой-то причине, надо временно отключить обновления во избежание сюрпризов, например вы в отпуске и не можете быстро отреагировать на проблему. Отключите только обновление плагинов, именно плагины чаще всего являются источником проблем для сайта, после их обновления. В то же самое время, злоумышленники чаще всего, взламывают сайты, используют ошибки и уязвимости в старых версиях плагинов. Но все равно, вероятность взлома меньше, чем "испорченный" сайт из-за обновленного плагина.

Уменьшаем риски

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

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

Договор с клиентом

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

Вы должны объяснить заказчику, что вас наняли только на разработку сайта и назовите свой срок гарантийного и тестового периода, после которого уже не принимаются никакие претензии и заявки на "ремонт" сайта. Главная мысль, что исправлять и восстанавливать сайт по истечении срока, бесплатно вы не будете. Договор должен быть с подписью заказчика. Вообщем то ничего нового, все производители дают гарантийный срок на свой продукт, иначе процесс ремонта был бы бесконечным.

Заключение

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

Понравилась статья? Поделитесь ей