WordPress в последней на настоящий момент версии 5.5.3 при попытке включить только что выпущенный PHP 8 выдаёт 404 ошибку. Почему?

Официально WordPress будет совместим с PHP 8 только начиная с версии 5.6, которая запланирована на 8 декабря 2020. RC-версия ядра WordPress 5.6 работает правильно с PHP 8, проблема устранена. Однако интересно разобраться, что является источником проблемы.


Cyr-To-Lat — это плагин транслитерации, предназначенный для преобразования ярлыков постов из нескольких кириллических и не латинских языков в латиницу. Чем он отличается от конкурентов?


Плагин WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange является единственным работающим решением для обмена данными между WooCommerce и 1C:Enterprise. Долгое время он не поддерживался авторами, что создавало проблемы с последними версиями WooCommerce.

Мы доработали плагин, исправили некоторые ошибки и проверили его функционирование под WC 3.7. Форк плагина доступен в нашем репозитории.


В процессе PHPUnit-тестирования зачастую приходится иметь дело с кодом, который зависит от встроенных функций PHP, например, phpversion(). Методика тестирования изложена в настоящей статье.

Рассмотрим в качестве простого примера следующий класс, который проверяет текущую версию PHP и сообщает, удовлетворяет ли она требованиям.


Редактирование страницы в блочном редакторе имеет неприятную особенность — полоса с макетом страницы слишком узкая, всего 610 пикселей, и это создаёт определённые неудобства при большом количестве колонок. Сам макет страницы узкий, а вокруг много неиспользованного места.


Некоторые дополнения в коде для обеспечения совместимости с WPML, были сделаны в мае 2019 года. Недавно плагин получил официальный статус совместимости с WPML.


Команда WPML за последние два месяца полностью переписала плагин String Translation и внесла много улучшений, связанных с производительностью, в плагины Multilingual CMS и Translation Management.


Плагин Cyr-To-Lat, в разработке которого мы принимаем активное участие, недавно превысил отметку в 100,000 активных установок. В последние 10 месяцев рост составил около 30% (с 70,000 активных установок).

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

  • Увеличение числа языков транслитерации (сейчас это русский, белорусский, украинский, болгарский, македонский, грузинский, казахский и идиш)
  • Удобный интерфейс таблиц транслитерации
  • Конвертация любого количества ярлыков существующих постов, страниц и терминов в фоновых процессах
  • Поддержка WP-CLI
  • Надёжный код, на 100% покрытый тестами

В ближайших планах — поддержка сербского, туркменского и китайского языка, официальный статус совместимости с WPML, улучшение производительности.


В новой версии 2.2 плагина WOOF by Category, число активных инсталляций которого превысило одну тысячу, реализовано существенное улучшение быстродействия.

На клиентских сайтах с длинным списком категорий товаров происходило существенное замедление генерации страниц WooCommerce с фильтрами WOOF. Причина в том, что плагин WOOF запрашивает свои опции сотни раз за время генерации страницы. Эти вызовы обрабатываются WOOF by Category для обеспечения своей функциональности.

На сайте с 2,000 товаров и 70 категориями за время генерации страницы опции запрашивались 800 раз. Применённое в версии 2.2 плагина кеширование свело количество выполнений главной функции WOOF by Category до одного, а время генерации страницы на упомянутом выше сайте — с 4.5 до 1.5 секунд.


При переводе с помощью WPML пользовательских полей, созданных плагином ACF, возникает вопрос — как сделать все поля переводимыми? Обычно на сайте таких полей достаточно много (сотни — типичный пример) и кликать в настройках WPML сотни раз — довольно утомительная работа.

Ниже пример того, как это можно сделать с помощью кода.