depositphotos.com

Проблемы обновления WordPress 5.5 и их решение

Рубрика: Теория

Обновление WordPress 5.5 породило несколько проблем для владельцев тысяч сайтов. Но решение уже найдено.

Проблемы обновления WordPress 5.5 и их решение

Поддержка jQuery Migrate, объявленная устаревшей в WP 5.5, привела к поломке не менее 100,000 веб-сайтов. Другие пострадали от того, как различные темы движка обрабатывают пагинацию в новой версии.

К счастью, всё это решаемо.

jQuery Migrate и WordPress 5.5

Тысячи вебмастеров столкнулись с трудностями из-за того, что теперь Вордпресс работает без библиотеки JavaScript под названием jQuery Migrate. jQuery Migrate – это библиотека, которая действует как «костыль» для работы старого кода в WordPress.

Если вы пользуетесь какой-нибудь старой темой WP, особенно когда её разработчики забили на обновления, в конечном итоге возникают проблемы совместимости, и именно это произошло в WordPress 5.5.

Какие виды ошибок возникают на сайтах?

JavaScript – это, своего рода, маленькие механизмы, благодаря которым на сайте работаю те или иные элементы. Скрипты действуют за кулисами, чтобы поддерживать функционирование всевозможных форм, панелей поиска и раскрывающихся меню.

Что вызывает ошибки JavaScript в WordPress 5.5?

Причина большинства проблем – старые плагины. Вторым вариантом может быть, как уже писалось выше, – устаревшая тема шаблона.

Что вызывает ошибки JavaScript в WordPress 5.5

Вот пример жалобы вебмастера на сайте wordpress.org, связанной с невозможностью публиковать новые посты и добавлять миниатюры после обновления:

Ваше последнее обновление – настоящая катастрофа. Я использовал плагин классического редактора, потому что ваш редактор блоков – полный отстой, и теперь он больше не работает после вашего обновления. Я могу редактировать только в режиме HTML, а в визуальном редакторе – нет!

Я попытался опубликовать свою последнюю статью в вашем редакторе блоков, но мне не удалось добавить миниатюру, у меня получилась белая страница с заголовком «Рекомендуемое изображение» вверху, и всё.

Источником проблемы оказался старый плагин, для работы которого использовалась библиотека jQuery Migrate. Плагин перестал работать после того, как WordPress удалил эту библиотеку. Так что, по большому счёту, проблема не в Вордпрессе, а в устаревших плагинах и темах.

На популярном форуме Stack Overflow у вебмастеров также возникают вопросы, связанные с WordPress 5.5. Сайты теряют функциональность. Вот человек попросил помощи в связи с проблемой, которая была вызвана устаревшей темой, в которой отсутствует раскрывающееся меню и функциональность ползунка.

Старый JavaScript в устаревшей теме WordPress

Причиной проблемы стал старый JavaScript в устаревшей теме WordPress.

Как исправить ошибку jQuery Migrate

Если проблема связана с плагином, который использует старые файлы JavaScript, проверьте, когда последний раз обновлялся этот плагин. Если последний раз он обновлялся год назад или больше, лучше подумать о поиске другого, более современного плагина.

Заброшенные старые плагины могут представлять угрозу безопасности вашего сайта. Лучше установить новый, хорошо поддерживаемый разработчиками плагин, чем продолжать использовать мину замедленного действия, которая рано или поздно рванёт.

WordPress выпустил плагин, который восстанавливает библиотеку jQuery Migrate JavaScript и, вместе с ней, все функции веб-сайта. Если у вас на проекте пропали какие-то элементы, в консоли разработчика Chrome отображаются ошибки JavaScript, а ваша тема или плагин устарели, установка этого плагина может помочь.

Плагин WordPress Enable jQuery Migrate Helper загрузили уже более 100,000 раз с момента его выпуска! То есть проблема действительно массовая.

Плагин WordPress Enable jQuery Migrate Helper

Ошибка пагинации в WordPress 5.5

На некоторых сайтах обновление движка привело к сбою работы пагинации. Пагинация – это ссылки на номера страниц навигации внизу многостраничного документа, обычно в разделе категорий веб-сайта или на главной странице блога. Это часть навигационной структуры веб-сайта, помогающая пользователям находить более старые записи.

По этой проблеме на wordpress.org тоже есть баг-репорт:

Ошибка пагинации в WordPress 5.5

Согласно информации от вебмастера:

После обновления до 5.5 параметр страницы удаляется из URL-адреса с 301 редиректом… Это нарушало работу нашего сайта…. Я хотел бы установить 5.5, но это ломает сайт.

Другие специалисты сообщили, что эта ошибка затрагивает многие клиентские сайты:

Это довольно важно из-за того, что многие темы и плагины используют этот параметр запроса. Пока мы тут всё это обсуждаем, клиенты сходят с ума.

Суть бага заключается в том, что возникает конфликт в употреблении слова «страница» («page»). WordPress использует его для разбивки на страницы, но только с числовым значением. В темах шаблона используется слово «страница» с дополнительными нечисловыми значениями.

По словам участника WordPress Core, Сергея Бирюкова (@SergeyBiryukov):

Оно должно иметь исключительно числовое значение и не предназначено для использования в каких-либо других целях, например: ?page=offers&id=xxx.

Поэтому я бы рекомендовал переименовать эту переменную в любом пользовательском коде, чтобы избежать конфликтов.

В качестве другого возможного решения вы можете отключить для этих запросов функцию redirect_canonical (), которая по умолчанию присоединена к действию template_redirect.

Но есть и обходной путь, который предложил другой вебмастер:

Перейдите на более раннюю версию, которая работает, и перестройте тему с использованием «mypage=» вместо «page=» в строке запроса.

Большой успех WordPress 5.5

Судя по всему, WordPress 5.5 пользуется большим успехом. Я потратил несколько часов на просмотр списка возможных ошибок и был впечатлён работой сообщества WordPress по изучению каждой отдельно взятой проблемы.

Как минимум 2,000 плагинов и 200 тем шаблонов конфликтуют сейчас с новой версией движка. Среди наиболее часто встречающихся ошибок:

Команда WordPress проделывает потрясающую работу. Не зря этим движком пользуется добрая половина интернета. Как только выявляется та или иная проблема, она довольно оперативно решается.

А WP, тем временем, уже выкатывает версию 5.5.1.

ПОНРАВИЛСЯ ПОСТ? ПОДЕЛИСЬ ССЫЛКОЙ С ДРУЗЬЯМИ!


СТАТЬИ ИЗ РУБРИКИ: