Categories: Мнение

Предложение по пересмотру API шорткодов в WordPress возвращается к чертежной доске

Роберт Чапин , участвующий в разработке ядра WordPress, опубликовал первый проект дорожной карты, в которой объясняется, как можно переработать API Shortcode. «Решение создать эту дорожную карту возникло из-за конкретных потребностей, которые не удовлетворялись старым кодом», — сказал Чапин.

Предложение имеет агрессивный график разработки, начиная с WordPress 4.4 и заканчивая WordPress 4.7. В WordPress 4.4 будет представлен новый синтаксис, позволяющий вносить существенные изменения в API.

Вот несколько примеров коротких кодов, использующих новый синтаксис.

Самозакрытие : [{{шорткод}}]

Атрибуты : [{{шорткод attr1=”value1″ attr2=’value2′ “value3” ‘value4’ value5}}]

Вложение : [{{shortcode}$] HTML [${shortcode}}]

Несколько вложений : [{{shortcode}$] HTML [${encl2}$] HTML [${encl3}$] HTML [${shortcode}}]

Экранированный код : [!{{короткий код}}]

В цикле разработки WordPress 4.5 основное внимание будет уделяться отказу от старого синтаксиса: «Плагины, которые регистрируют шорткоды без объявления поддержки новых функций, будут вызывать ошибки отладки, чтобы предупредить разработчиков о том, что поддержка старого синтаксиса шорткодов заканчивается», — сказал Чапин. Сообщения, использующие старый синтаксис, продолжат работать.

В процессе обновления WordPress 4.6 шорткоды, использующие старый синтаксис, будут преобразованы для использования нового синтаксиса. API Shortcode по-прежнему будет предоставлять устаревшую поддержку старого синтаксиса, чтобы обеспечить плавный переход.

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

Процесс перехода заканчивается на WordPress 4.7, где поддержка старого синтаксиса исключена. Шорткоды и плагины, использующие старый синтаксис, перестанут работать. Во время процесса обновления WordPress 4.7 будет предпринята вторая попытка обновить старый контент, чтобы использовать новый синтаксис.

Предложение вызывает опасения

Предложение вызвало конструктивную критику со стороны нескольких членов сообщества WordPress. Ник Хаскинс, основатель Aesop Interactive, выразил обеспокоенность , заявив, что синтаксис не стал проще для авторов и повлияет на большое количество сайтов.

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

  • Все плагины и темы на планете мы сломаем (потому что сломаем, не будут читать и тестировать). Мы должны унижать их настолько изящно, насколько это возможно по-человечески. Продолжать говорить «Ну, разработчики были уведомлены и должны были обновиться» теперь, когда мы такие большие, как мы есть, нецелесообразно.
  • Все очень (законно) злые конечные пользователи, которые сломались, потому что они не обновили плагины и темы (или темы/плагины не обновились). В прошлый раз люди были справедливо возмущены. Больше всего от этого изменения пострадают конечные пользователи, а не разработчики.
  • Четко сообщая пользователям, что сейчас {{gallery}}. Это будет очень тяжело. Невероятно тяжело. Обновить их старые сообщения (имея в виду предупреждение Джастина об уценке Markdown и тех, кто использует их в качестве отступления — я знаю, что знаю) проще, чем убедиться, что все знают, что делать. В лучшем случае мы можем следить за теми, которые встроены в WP, и, возможно, использовать логику, которая есть в визуальном редакторе СЕЙЧАС, чтобы преобразовать их, но мы должны выяснить, как сделать так, чтобы все знали. Это не что иное, как перенос меню в настройщик. Это сбивало с толку, но пользователи могли видеть, что произошло. Это законное изменение, ваш старый способ больше не будет работать. Это огромно.
  • Количество пользователей, у которых есть премиальные темы и плагины, которые не получают оповещения об обновлениях. Эти люди просто не узнают, что им нужно обновиться, и это не их вина. Мы никогда не должны нарушать их, если есть какая-то альтернатива.
  • Пользователи будут обновлены своими хостами по сравнению с установкой в ​​​​один клик и управляемым хостингом, поэтому у них будет обновленный WP и устаревшие плагины / темы. Так что да, многие пользователи будут на 4.7, а затем на теме 2014 года. Это отстой, это реальность, мы знаем, что это реальность, мы не можем засунуть голову в песок.
  • Плагины, которые уже используют теги {{template}} в своем коде. Да, я видел это. Большинство из них используют его для поиска/замены в своем собственном коде, но мы хотим убедиться, что проверяем всех в репозитории, кто может делать это самостоятельно.

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

Возможно, англичане не знают, что { и } не присутствуют во всех клавиатурах напрямую, как [ и ]. На итальянских клавиатурах [ и ] генерируются с помощью ALT-GR+è или ALT-GR++, а на клавиатурах отображается основной знак ALT-GR, например €@## и [ ].

Чтобы получить { и }, вам нужно набрать ALT-GR+SHIFT+è и ALT-GR+SHIFT++. Большинство людей не знают об этой комбинации (я думаю, знают только те, кто пишет код), и скобки не написаны ни на одной клавише.

Вернуться к доске для рисования

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

В то же время он предупреждает, что команде нужно что-то делать: «Предложенный синтаксис значительно противоречит предлагаемому видению, и, учитывая все ваши отзывы, нам явно придется вернуться к чертежной доске. Обратите внимание, что нам все еще нужно что-то сделать , но, возможно, мы сможем мыслить дальше нестандартно».

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

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