Gravity Forms: налаштування складних форм з умовною логікою та інтеграціями
Ми налаштовуємо Gravity Forms для проектів, де стандартні плагіни не справляються: форми з розгалуженням на 50 полів, калькулятори вартості, прийом платежів через Stripe та передача даних у CRM. Одного разу інтернет-магазину потрібно було показувати різні способи доставки залежно від суми замовлення — умовна логіка Gravity Forms вирішила це без жодного рядка коду.
Проблеми, які вирішуємо
Типові технічні складнощі:
- Форми з умовною логікою: коректне дерево залежностей для 50+ полів.
- Інтеграція з CRM: відправка даних у Бітрікс24, AmoCRM, HubSpot через REST API.
- Прийом платежів: Stripe без редиректу, збереження транзакцій.
- Багатокрокові форми: збереження прогресу, валідація на кожному кроці.
Наприклад, стандартний Contact Form 7 не має вбудованої умовної логіки — потрібні хаки. Gravity Forms вирішує це нативно.
Як ми це робимо (доказ експертності)
Ми використовуємо розширені можливості Gravity Forms:
- Умовна логіка для полів, секцій, кнопок і сповіщень.
- Калькулятори: формули з полями (наприклад,
{field_id:1} * {field_id:2}). - Аддони Stripe, Zapier, GravityView.
- Кастомні хуки для глибокої інтеграції.
Кейс: для ритейлера налаштували форму передзамовлення з 4 кроками та Stripe. Увесь процес зайняв 2 дні. Магазин прийняв перші 200 замовлень у день запуску. Умовна логіка приховувала кроки залежно від вибору — жодного бага після релізу.
Процес оцінки та роботи
- Збір вимог: аналіз сценаріїв форми, маппінг полів.
- Аудит поточного сайту: сумісність з версією PHP (8.1+), конфлікти плагінів.
- Проектування: архітектура логіки, інтеграцій, калькуляторів.
- Оцінка: строки та вартість (без фіксованої ціни).
- Розробка: створення форм, налаштування умов, підключення аддонів.
- Тестування: усі сценарії (включаючи крайові випадки).
- Запуск: перенесення на робочий домен, моніторинг.
Що входить у налаштування під ключ
- Конфігурація ліцензії та перенесення на робочий домен.
- Створення до 5 форм з умовною логікою (складні — до 10 полів).
- Налаштування сповіщень (пошта, SMS) та підтверджень.
- Інтеграція з популярними CRM (Бітрікс24, AmoCRM, HubSpot).
- Тестування відправки на всіх сценаріях.
- Документація: опис полів, логіка, API-ключі.
Орієнтири за строками
Типова форма зі сповіщеннями — кілька годин. Багатокрокова з калькулятором та інтеграцією CRM — 1–2 робочі дні. Складні проекти з декількома інтеграціями — до 5 днів.
Типові помилки (на що звернути увагу)
- Неактивована ліцензія після перенесення сайту — форма перестає працювати. Завжди деактивуйте ліцензію на старому домені в особистому кабінеті.
- Конфлікти з плагінами кешування: іноді AJAX-відправка ламається. Ми перевіряємо сумісність із WP Rocket, W3 Total Cache.
- Неправильний маппінг полів при інтеграції з CRM — дані губляться. Ми використовуємо тестові відправки та звіряємо поля.
Налаштування умовної логіки: приклад
Для форми зворотного зв'язку з вибором теми:
- Створюємо поле "Тема звернення" (Radio): "Скарга", "Пропозиція", "Інше".
- Увімкнути Conditional Logic на полі "Номер замовлення" — показати, якщо обрано "Скарга".
- Увімкнути на полі "Ваша ідея" — показати, якщо обрано "Пропозиція".
Умовну логіку також можна застосувати до сповіщень: якщо "Скарга" — лист тільки менеджеру з претензій.
Прийом платежів через Stripe
Аддон Stripe Add-On дозволяє приймати платежі без редиректу на сторонній сайт. Налаштування займає годину: вводимо API-ключі, вибираємо поля вартості. Комісія Stripe становить 2.9% + $0.30 за транзакцію. Ми гарантуємо коректну обробку помилок і повернення коштів через API.
PHP API та хуки для кастомізації
// Отримати дані відправки за ID запису $entry = GFAPI::get_entry( $entry_id ); echo $entry['1']; // значення поля з ID=1 echo $entry['created_by']; // ID користувача WordPress // Додати запис програмно $entry = [ 'form_id' => 3, '1' => 'Іван Петров', '2' => '[email protected]', ]; GFAPI::add_entry( $entry ); // Дія після успішної відправки форми ID=3 add_action( 'gform_after_submission_3', function( $entry, $form ) { // Відправити дані в CRM $name = rgar( $entry, '1' ); $email = rgar( $entry, '2' ); send_to_crm( compact( 'name', 'email' ) ); }, 10, 2 ); // Кастомна валідація add_filter( 'gform_validation_3', function( $validation_result ) { $form = $validation_result['form']; $phone = rgpost( 'input_4' ); if ( ! preg_match( '/^\+7\d{10}$/', $phone ) ) { $validation_result['is_valid'] = false; foreach ( $form['fields'] as &$field ) { if ( 4 === $field->id ) { $field->failed_validation = true; $field->validation_message = 'Формат: +7XXXXXXXXXX'; } } $validation_result['form'] = $form; } return $validation_result; } ); Документація по хуках: Gravity Forms API.
Чому обирають нас
Наша команда має 5+ років досвіду роботи з Gravity Forms та реалізувала більше 30 інтеграцій. Гарантуємо, що форми будуть відправлятися без втрат, а дані потраплять у потрібні системи. Якщо у вас складний сценарій — напишіть нам, оцінимо проект за 1 день та запропонуємо архітектуру. Зв'яжіться з нами для консультації.







