Создание гравитационной формы через API
Gravity Forms — популярный плагин WordPress, который позволяет создавать формы на вашем веб-сайте и управлять ими. Хотя плагин предоставляет удобный интерфейс для создания форм, иногда вам может потребоваться создавать формы программно с помощью API Gravity Forms. В этой статье я объясню несколько методов создания Gravity Form через API с примерами кода.
Метод 1. Использование библиотеки API Gravity Forms
Gravity Forms предоставляет официальную библиотеку PHP, которая упрощает процесс взаимодействия с API. Вы можете использовать эту библиотеку для создания формы, выполнив следующие шаги:
- Установите плагин Gravity Forms на свой сайт WordPress.
- Загрузите официальную библиотеку API Gravity Forms с веб-сайта Gravity Forms.
- Включите библиотеку в свой PHP-скрипт:
require_once 'path/to/gravityformsapi.php';
- Создайте экземпляр объекта API:
$api = new GravityForms_API( 'your_api_key', 'https://your-website.com' );
- Создайте форму с помощью метода
create_form():
$form_data = array(
'title' => 'My Form',
'description' => 'This is a sample form created via API',
'fields' => array(
array(
'type' => 'text',
'label' => 'Name',
'isRequired' => true,
),
array(
'type' => 'email',
'label' => 'Email',
'isRequired' => true,
),
// Add more fields as needed
),
);
$result = $api->create_form( $form_data );
- Обработать ответ и проверить наличие ошибок:
if ( $result['status'] == 'error' ) {
echo 'Form creation failed: ' . $result['error_message'];
} else {
echo 'Form created successfully. Form ID: ' . $result['response'];
}
Метод 2: использование REST API WordPress
Если вы предпочитаете использовать WordPress REST API для создания формы Gravity, вы можете выполнить следующие действия:
- Установите и активируйте плагин REST API Gravity Forms на своем сайте WordPress.
- Сгенерируйте ключ API, перейдя в «Формы» → «Настройки» → «REST API» на панели управления WordPress.
- Отправьте POST-запрос к конечной точке
/wp-json/gf/v2/formsс необходимыми данными формы:
const formData = {
title: 'My Form',
description: 'This is a sample form created via API',
fields: [
{
type: 'text',
label: 'Name',
isRequired: true,
},
{
type: 'email',
label: 'Email',
isRequired: true,
},
// Add more fields as needed
],
};
fetch('https://your-website.com/wp-json/gf/v2/forms', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_api_key',
},
body: JSON.stringify(formData),
})
.then(response => response.json())
.then(data => {
console.log('Form created successfully. Form ID:', data.id);
})
.catch(error => {
console.error('Form creation failed:', error);
});
Не забудьте заменить 'your_api_key'и 'https://your-website.com'фактическим ключом API и URL-адресом веб-сайта.