Як відключити оновлення на WordPress

1

Від автора: оновлення програмного забезпечення CMS та інших операційних систем — річ потрібна і корисна штука. Якщо говорити серйозно, то апгрейд будь-якої CMS не потрібно відкладати в довгий ящик і бажано зробити якомога оперативніше після виходу чергового оновлення. Це не тільки запорука отримання нового функціоналу, але і додаткова гарантія безпеки вашого сайту. Можна вважати це за правилом. Однак з будь-якого правила є винятки. Оновлення WordPress — не виняток, сорі за тавтологію. Зараз ми спробуємо розібратися в питанні як відключити оновлення на 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. Аналог попереднього плагіна.

Думаю, цього вже достатньо. Тут є невеликий нюанс. Ми дійсно забороняємо оновлення і прибираємо повідомлення про нової версії. Але ось в меню залишається пункт Оновлення, куди випадково може забрести клієнт.

Як відключити оновлення на WordPress

Було б непогано прибрати цей пункт меню, щоб клієнт не натиснув на злощасну кнопку. Зробити це досить просто. Відкрийте файл функцій активної теми — functions.php — і додайте в нього наступний код:

function my_func_remove_menu(){
remove_submenu_page( ‘index.php’, ‘update-core.php’ );
}
add_action( ‘admin_menu’, ‘my_func_remove_menu’ );

Після цього меню адмінки має не дорахуватися шуканого пункту з можливістю оновлення WordPress.

Тепер ви знаєте способи відключення автоматичного оновлення WordPress, а також способи запобігання оновлення цікавим клієнтом. І тепер можете спати трохи спокійніше, не боячись нічного дзвінка від клієнта, кричить «Караул! Рятуйте!»

Удачі на терені сайтобудування і довірливих клієнтів!