Вопрос поиска идеального плагина для форм так же стар, как и сама система WordPress. Проекты приходили и уходили. Есть, конечно, несколько крутых плагинов для форм, но слишком часто выбор стоит между огромными конструкторами со своими собственными подходами и решениями настолько простыми, что зачастую они не оправдывают ожиданий. Мунир Камал решил попробовать взять этот насыщенный рынок с помощью Gutenberg Forms, плагина, предназначенного для построения форм через редактор блоков.
Плагин не идеален. У него имеются многочисленные причуды. Но он делает многие вещи грамотно. Иногда бывают сбои с важным функционалом, но плагин может впоследствии стать одним из лучших решений для построения форм в WordPress.
В версии 1.4.0 плагин Gutenberg Forms представляет собой смесь успешных находок и провалов. Об этом я поведаю далее.
При этом плагин мне нравится, и стоит помнить, что он пока еще находится на начальном этапе жизни. Камал за короткое время построил несколько успешных проектов, связанных с Gutenberg, включая Gutenberg Hub и ACF Blocks. Я верю, что со временем решение улучшится.
Плагины форм не так просты. Несмотря на текущие проблемы, к которым мы обратимся далее, Gutenberg Forms – полезный плагин, имеющий обширный функционал, который я хотел бы видеть в конструкторе форм будущего. Все идеи, необходимые для реализации блочных форм, успешно применены. Сама реализация только нуждается в доработке.
Gutenberg Forms был создан в феврале этого года. Камал первоначально выпустил плагин в 2018 году, но он оставался в подвешенном состоянии в течение полутора лет, и только потом плагин получил обновление с учетом текущих API. Затем плагин регулярно обновлялся и улучшался. Первый раз я поработал с плагином несколько месяцев назад, и тогда опыт был неудачным. Тем не менее, в своей последней итерации плагин уже выглядит многообещающе.
Учитывая, что у плагина всего 200+ пользователей, Камалу недостает обратной связи.
Создание форм
Gutenberg Forms упрощает построение форм. Есть два способа создания форм с помощью плагина. Первый способ – через экран Forms в панели администратора. Здесь мы создаем произвольный тип записей, который работает точно так же, как пост или страница. Разница в том, что пользователи ограничены в плане добавления разных полей к формам. Использование данного метода проектирования форм является идеальным, поскольку форма сохраняется в одном месте и может быть использована везде на сайте.
Второй способ – создание формы непосредственно через редактор записей или страниц. Все произвольные блоки плагина доступны для создания любой формы. Для простых одноразовых форм этот метод сработает, но я рекомендую все же создавать формы на странице Forms.
Создав форму на странице Forms, пользователи могут впоследствии использовать блок Gutenberg Forms для вставки этой формы. В действительности же при вставке блока плагин добавляет шорткод в редактор. Это одна из тех причуд с плагином. Идея блоков заключалась в том, чтобы освободить разработчиков от использования шорткодов. Нет необходимости смешивать шорткоды и блоки с технической точки зрения. Нам нужен просто серверный блок. Я не думаю, что конечным пользователям это будет важно, поскольку формы работают, но в долгосрочной перспективе эту странность нужно будет устранить.
Плагин предлагает большое количество популярных полей форм. В настоящее время доступны следующие поля:
- Calculation
- Checkbox
- Date Picker
- File
- Form Button
- Message
- Name
- Number
- Phone
- Radio
- Select
- Text
- Website
- Yes / No
Gutenberg Forms также включает в себя и другие блоки, не предназначенные для вывода полей. Блок Form Columns позволяет создавать поля в виде столбцов. Этот вариант подойдет для полей, которые должны быть выровнены горизонтально, как, к примеру, поля города, штата и почтового индекса. Блок Form Group позволяет сгруппировать несколько блоков. Также у него есть несколько опций дизайна, включая произвольные цвета и отступы. Блок Form Step полезен для добавления шагов в многошаговые формы.
Самая интересная, но пока наименее отлаженная функция – это библиотека предопределенных шаблонов. В настоящий момент плагин имеет около трех десятков произвольных шаблонов форм. Учитывая работу Камала с шаблонами в Gutenberg Hub, я предполагаю, что мы увидим больше шаблонов в будущем.
В чем проблема? Вставка шаблонов форм работает через раз.
В последних версиях WordPress и плагина Gutenberg я не смог вставить ни один шаблон формы через новый экран форм. Были ошибки JavaScript, который мешали вставке. В итоге в моей тестовой среде ни одна опция не сработала, что было печально.
Хотя вставка шаблона не работала на экране создания форм, она работала при создании одноразовых форм на экране редактирования страницы. Однако я получил в итоге сообщение «этот блок содержит неожиданное или недопустимое содержимое» для некоторых блоков после добавления.
Проблема не является непреодолимой. Проект Gutenberg постоянно меняется. Прямо сейчас на любые ошибки и проблемы можно закрыть глаза, поскольку в дальнейших обновлениях они будут улажены. Однако я отмечаю эти проколы с той лишь целью, чтобы пользователи аккуратнее применяли этот плагин у себя на рабочих сайтах. Вы можете легко создавать формы без использования функционала шаблонов.
Заключительные мысли
Да, Gutenberg Forms несколько сырой. Пока он не в том виде, чтобы конкурировать с крупными игроками на рынке форм. Однако через полгода или год при условии постоянного улучшения он сможет захватить свою долю на рынке.
Есть и другие придирки к плагину. К примеру, стиль блока Inline, доступный для некоторых блоков, не может быть сброшен до значения по умолчанию. Буква C в блоке Checkbox является строчной, в то время как все остальные имена блоков начинаются с заглавной буквы. Такие мелочи влияют на восприятие плагина.
Но даже с учетом проблем, описанных мною, я бы все равно порекомендовал пользователям этот плагин – особенно тем, кому требуется конструктор форм на основе блоков. Он очень простой, и это может стать стимулом к его использованию. По большей части он справляется с поставленными задачами. Он позволяет создавать формы и сохранять в БД то, что было передано через формы.
Я твердо верю, что мы наблюдаем за чем-то особенным. Пройдет какое-то время прежде чем мы увидим восход плагина. И даже если Gutenberg Forms не захватит рынок конструкторов форм, другим разработчикам плагинов будет полезно посмотреть на свежего конкурента.
Источник: wptavern.com
Но а пока мы все будем использовать проверенный cf7
Да, в статье описан более экспериментальный подход. Но уже сейчас можно его исследовать, потому как в будущем появится нечто подобное. CF7 шикарен, но другие варианты тоже не стоит отметать)