✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Кодирование гравитационных форм: введение

11

Gravity Forms, пожалуй, самый известный и лучший плагин для создания форм для WordPress. Он не только прост в использовании, но и имеет множество надстроек для реализации платежей или новостной рассылки в ваших формах. Но он также очень удобен для разработчиков и гибок. Лично я использую и разрабатываю Gravity Forms не менее 5 лет, и у меня никогда не было функции, которую было бы невозможно или действительно сложно разработать с помощью Gravity Forms.

Имейте в виду, что Gravity Forms не является бесплатным. Вы должны купить лицензию. Они предлагают несколько разных типов по разным ценам, чтобы получить и использовать его. После того, как вы приобрели лицензию, вы также получаете доступ к выбору их надстроек, в зависимости от того, какую лицензию вы приобрели.

Gravity Forms для разработчиков

Gravity Forms предлагает множество фильтров и крючков, но нет шаблонов, которые вы можете переопределить. Хуки предлагают разработчикам большую гибкость для расширения и изменения поведения Gravity Forms. Взгляните на страницы документации разработчиков Gravity Forms. Большинство, если не все, настройки будут выполняться для некоторых объектов Gravity Forms; либо напрямую, либо через GFAPIкласс Gravity Forms API (). Вы также можете взаимодействовать с Gravity Forms с помощью REST API (который расширяет REST API WordPress ).

Примеры возможностей для разработчиков: изменение выходных данных полей, изменение значений полей до того, как они будут сохранены в качестве интереса, и программная настройка уведомлений по электронной почте. Другие примеры включают добавление настраиваемых параметров формы, создание новых типов полей и вставку настраиваемых полей или значений полей в существующие формы.

Gravity Forms имеет структуру «надстроек», которая позволяет другим разработчикам создавать собственные надстройки к Gravity Forms. И было сделано довольно много. Примерами надстроек являются регистрация в MailChimp, платежные шлюзы с Stripe, Hubspot. интеграции, опросов, викторин, интеграции Zapier и Dropbox. Доступность надстроек зависит от вашей лицензии. Взгляните на обзор здесь.

Отрисовка формы

Вывод формы осуществляется с помощью коротких кодов, например:

[gravityform id="2" name="Contact us" ajax="true"]

Не беспокойтесь, Gravity Forms добавит кнопки и диалоговые окна для удобного встраивания форм в ваши сообщения. Вам или редакторам контента не потребуется вручную вводить короткие коды.

Но если вам, как разработчику, когда-нибудь понадобится программно встроить форму в шаблон, все, что вам нужно знать, — это идентификатор формы, а затем просто отобразить шорткод. Когда мы выводим шорткод в PHP, нам нужно обернуть его внутрь do_shortcode(), чтобы WordPress правильно преобразовал шорткод. Gravity Forms справится с добавлением всех необходимых скриптов и стилей, даже если вы визуализируете форму с помощью PHP.

echo do_shortcode('[gravityform id="2" name="Contact us" ajax="true"]');

Получение информации о форме

Существуют простые функции API, доступные для получения информации, например, для получения всех форм или одного определенного объекта формы. Объекты заполняются всеми настройками, включая все поля в форме, и вы также можете получить все записи формы (ответы формы). Допустим, вы хотите сгенерировать <select>со всеми опубликованными формами, предлагая пользователю выбирать между опубликованными формами:

Чтобы следовать хорошим стандартам кодирования, особенно учитывая, что Gravity Forms — это плагин, который может быть деактивирован или просто не существует, всегда проверяйте, существуют ли какие-либо классы Gravity Forms, прежде чем использовать их! Перед приведенным выше кодом я бы добавил:

if (!class_exists('GFAPI')) { return; } // Do stuff with GFAPI class

Для получения определенного объекта формы все, что вам нужно, это идентификатор формы (1 в приведенном ниже случае):

$form = GFAPI::get_form(1);

Вы даже можете манипулировать формой через объект, а затем обновлять ее, например, изменяя заголовок формы:

$form = GFAPI::get_form(1); $form['title'] = __('New Form Title', 'txtdomain'); GFAPI::update_form($form);

Получение лидов формы (ответов)

Получение записей формы (ответов формы) для формы с идентификатором 1 выполняется так же просто, как:

$entries = GFAPI::get_entries(1);

Вы также можете получить конкретную запись с ее идентификатором, и так же, как при обновлении формы, вы можете манипулировать объектом записи и вызывать для него функцию обновления, чтобы сохранить его с вашими изменениями. В приведенном ниже примере сохраняется пустая строка в метаданных IP-адреса записи, а также значение поля ID 2:

$entry_to_change = GFAPI::get_entry(42); $entry_to_change['ip'] = ''; $entry_to_change['2'] = 'New value'; GFAPI::update_entry($entry_to_change);

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

Источник записи: awhitepixel.com

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