Как вернуть 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/
Следует потом не забыть обновиться, когда появятся новые совместимые версии плагинов или шаблонов. Ибо обновление – это важная процедура, которая помогает сохранять ваш сайт в безопасности, меньший шанс, что кто-то сломает.