Categories: Мнение

Долгожданные улучшения даты / времени появляются в ядре

После более чем года и нескольких обновлений WordPress завершился капитальный ремонт основного компонента Date / Time . WordPress 5.3 будет поставляться с исправлениями давних ошибок и новыми функциями API.

Андрей «Rarst» Савченко возглавил этот проект и проработал большинство проблем в своем форке WP Date WordPress. Большая часть его работы по решению проблем с этим основным компонентом началась еще с инициализации его проекта WPDateTime .

Погружение в компонент «Дата / время» – непростое дело. Решение одной проблемы ведет к другой. Это кроличья нора, по которой мало кто в сообществе ходил. Многие разработчики также не знали об этих проблемах. Однако ошибки сохранялись годами, и у пользователей не было рабочего решения проблем, с которыми они сталкивались.

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

С выпуском WordPress 5.3 все существующие функции должны работать более надежно. Разработчики, работающие над компонентом, исправили несколько ошибок и обновили некорректную документацию по встроенному коду для многих основных функций. Наряду с исправлениями, версия 5.3 будет поставляться с новыми функциями API даты и времени . Обновленный API включает в себя унифицированные функции поиска, локализации и взаимодействия с PHP.

Савченко назвал это «медленным спуском в безумие», когда его спросили о катализаторе погружения в компонент «Дата / время» и его основные проблемы. «Я начал замечать серьезные ошибки в компоненте из вопросов о них WordPress Stack Exchange, и чем больше я смотрел на протяжении многих лет, тем яснее становилось для меня ужасное состояние».

Одна из основных проблем – способ обработки временных меток WordPress. «Мне действительно пришлось изобрести термин« временная метка WordPress », – сказал Савченко. «При разработке ядра для этого не было названия, и встроенная документация раньше неправильно называла эти временные метки Unix». WordPress добавляет смещение часового пояса к реальной временной метке Unix, что вызывает проблемы с вышестоящим PHP и внешними системами.

Временные метки WordPress нельзя было удалить из ядра без нарушения обратной совместимости. Разработчики плагинов и тем должны избегать работы с меткой времени WordPress и использовать рекомендуемые методы, описанные в сообщении Савченко.

Функции даты WordPress изначально были написаны на PHP 4, версии PHP настолько давно умершей, что почти не стоит выкапывать дату окончания срока службы ( кстати, это 11 лет ). PHP 5.2 представил PHP DateTimeи DateTimeZoneклассы и с годами продолжает улучшаться. Функции даты WordPress никогда не обновлялись для использования новых стандартов. Недавнее повышение платформы до PHP 5.6 также означало, что DateTimeImmutableкласс, представленный в PHP 5.5, будет доступен. Повышение версии помогло внедрить новые функции API в WordPress 5.3.

Некоторые ошибки появились еще 7 лет назад, например, сокращенные форматы не работают с основной функцией date_i18n () , которая была исправлена ​​в WordPress 5.1. Если повезет, ядро ​​может также принять такие функции, как часовые пояса на основе пользователей в будущем, которые лучше справятся с разницей во времени при установке WordPress с пользователями по всему миру.

 

writer

Recent Posts

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…

2 года ago

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Команда Gutenberg создаст станцию ​​тестирования удобства использования в WordCamp US, где посетители смогут принять участие…

2 года ago

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…

2 года ago

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…

2 года ago

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…

2 года ago

DesktopServer 3.8.4 включает подарок сообществу

DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…

2 года ago