Выпущенное несколько недель назад обновление WordPress 5.5.1 фактически стало «заплаткой» к августовскому релизу CMS. В апдейт включено 5 незначительных улучшений и 39 баг-фиксов, исправляющих ошибки предыдущей версии.
Ранее предполагалось внести все текущие нововведения в WordPress 5.6, третий и последний основной релиз года, запланированный на декабрь 2020. Однако обновление до версии 5.5 вызвало нарушения в работе миллионов сайтов, что заставило команду разработчиков экстренно выпустить промежуточный технический апдейт с исправлением багов.
Проблема обновления WordPress 5.5
Основной ошибкой разработчиков стало удаление «устаревших» глобальных переменных JavaScript, все еще активно использующихся в сценариях тем и плагинов. Непродуманные действия программистов вызвали сбои в работе миллионов сайтов.
Кого затронула проблема
Со сбоями столкнулись владельцы многих популярных плагинов и тем с сотнями тысяч и миллионами активных закачек. Проблемный код привел к нестабильной работе шаблонов Astra (1 млн+ загрузок), Zakra, Hestia, ColorMag, Storefront и других. Нарушилась работа плагина конструктора форм Ninja Forms, инструмента добавления произвольных полей ACF, сборника виджетов SiteOrigin Widget Bundle.
Некоторые другие плагины, нуждающиеся в корректировке кода:
- Polylang – многоязычная поддержка;
- YITH WooCommerce Wishlist – список желаний для электронного магазина;
- NextGEN Gallery – самая популярная галерея для WP;
- Ocean Extra;
- Hummingbird;
- Max Mega Menu;
- другие.
Решение проблемы
В сентябрьский релиз включили баг-фикс, устраняющий проблему с пагинацией XML-карты сайта. Исправлены ошибки, вызывавшие остановку сценариев при обращении к функциям wp_localize_script(), get_page_template() и другим, зафиксирован список типов сред для функции wp_get_environment_type(). Устранены другие баги. В частности, в WordPress 5.5.1 добавлены 19 ранее удаленных глобальных переменных JS. Это решение временное, и к версии 5.7 старые объекты локализации исчезнут безвозвратно.
Авторам плагинов и тем дается несколько месяцев на исправление проблемных участков кода. За это время программистам нужно заменить старые переменные новыми функциями, вошедшими в пакет i18n WordPress 5.0. Пользователям же остается только своевременно обновлять CMS до версий 5.5.1, 5.6 и 5.7. С выходом сентябрьского технического релиза проблемы для них закончились.
Заключение: работа над ошибками
Проблема, вызванная обновлением WordPress до версии 5.5, решена, но это лишь половина дела. По словам Дэвида Андерсона, представителя команды разработчиков, программистам нужно будет решить еще один важный вопрос – предупредить возникновение подобных неприятностей в дальнейшем. А для этого нужно разобраться, почему программисты допустили вопиющую ошибку и что можно сделать для предотвращения подобных промахов в будущем.