От автора: обновления программ, 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 пропишите следующую строку кода:
1 2 |
// запрет автоматического обновления 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 — и добавьте в него следующий код:
1 2 3 4 |
function my_func_remove_menu(){ remove_submenu_page( 'index.php', 'update-core.php' ); } add_action( 'admin_menu', 'my_func_remove_menu' ); |
После этого меню админки должно не досчитаться искомого пункта с возможностью обновления WordPress.
Теперь вы знаете способы отключения автоматического обновления WordPress, а также способы предотвращения обновления любопытным клиентом. И теперь можете спать чуть спокойнее, не боясь ночного звонка от клиента, кричащего «Караул! Спасайте!»
Удачи на поприще сайтостроения и покладистых клиентов!