Як повернути WordPress до попередньої версії і чому це може знадобитись
WordPress це чудова система, щоб побудувати на ній сайт. І справді, це одна з найкращих, з дуже великим переліком корисних функцій та рис. Однак є і такі його особливості, які не завжди можуть бути корисними. Одна з таких рис – це автоматичне оновлення системи.
Авто оновлення вордпрессу
Загалом, автоматичний самоапгрейд вордпрессу це дуже добре, зокрема, це позитивно впливає на його безпеку. Це було б добре в ідеальному випадку, коли вордпресс, тема та всі плагіни оновлюється одночасно, і нові версії сумісні між собою, а на небі завжди сонце і веселка. Однак, такого ніколи не буває, може за винятком дуже, дуже простих випадків і декількох днів на рік.
Авто оновлення варто відключити і оновлювати систему, плагіни та шаблон вручну, коли є впевненість, що вони всі сумісні та будуть добре працювати разом.
Чому може знадобитись відкотити версію WordPress
Для WordPress розробника не проблема відключити оновлення і робити це вручну, однак більшість власників сайтів, скоріше за все, не володіють достатніми знаннями, щоб це все робити. Тому можлива ситуація коли після чергового оновлення сайт перестане працювати. Причиною буде несумісність шаблона або плагінів з новою версією вордпрессу, нових версій яких просто може ще не існувати. Розробники, можливо, ще не встигли відреагувати та випустити оновлення. Переключити сайт на нову тему або відключити плагін, зазвичай неможливо, бо втрачається необхідні вигляд та функціональність, тому єдиний вихід це відмінити останнє оновлення WordPress.
Що сталось на моєму сайті
Тобто не зовсім на моєму сайті, а на одному з сайтів зроблених мною ще дуже давно. Замовник часто до мене звертається коли треба щось доробити, переробити на сайті, додати нову функціональність, або просто перевірити цілісність. Слідкувати за безпекою теж дуже важливо.
Цього разу замовник сайту звернувся з проханням відновити сайт бо він показував лише повідомлення про помилку і нічного більше. Помилка була приблизно такого змісту:
Fatal error: Uncaught Error: Call to undefined method WP_Textdomain_Registry::reset() in ...
та довгий список файлів, та номери рядків, де ця помилка зустрічається. Зокрема, часто мерехтів ось такий шлях до файлу:
/public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php
Не озброєним оком видно, що щось не гаразд з плагіном WPML, зокрема з його компонентом “String translation”. Нової версії ще не було, а сайт мав працювати вже зараз, тому вирішив повернутись до попередньої версії.
Як відновити стару версію WordPress
Після довго вступу, нарешті добрались до рішення проблеми. Я вибрав найшвидший та, в певній мірі найбезпечніший метод, щоб відкотити систему, особливо для людей, для яких, розробка сайтів на WordPress це просто набір слів – використати спеціалізований плагін. Тут слід оговоритись, що не варто встановлювати все підряд, а вибирати ті, що вже протестовані багатьма членами великого вордпресс суспільства.
Щоб стаття не виглядала рекламою я не буду називати який саме плагін я вибрав, а лише скажу, що це один із тих, що можна знайти по цьому посиланню:
https://wordpress.org/plugins/search/downgrade/
Можна вибрати, який більш до вподоби. В цілому, вся робота з ними, це просто натиснути одну кнопку. В деяких випадках плагін може спитати, яку саме версію ви хочете відновити. Всі можливі версії WordPress можна знайти тут:
https://wordpress.org/download/releases/
Варто потім не забути знов оновитись, коли з’являться нові сумісні версії плагінів чи шаблонів. Бо оновлення – це важлива процедура, яка допомагає зберігати ваш сайт в безпеці, менший шанс, що його хтось зламає.