2026年11月12日

2026年11月12日

Cara Memakai Gravity Forms: Formulir, Conditional Logic, Notifikasi

Artikel ini adalah edisi lokal dari artikel asli berbahasa Jepang. Baca artikel asli berbahasa Jepang

Gravity Forms adalah plugin formulir berbayar yang tidak didistribusikan di WordPress.org. Dari layar admin, Anda bisa mengatur "conditional logic" yang menampilkan atau menyembunyikan field sesuai kondisi, pembagian tujuan notifikasi sesuai isi kiriman, serta penyimpanan data kiriman (entri) di database dan ekspornya. Artikel ini menjelaskan cara dasar membuat formulir dan cara memakai hook untuk pengembang. Isi lisensi dan nama item di layar adalah hasil pengecekan situs resmi dan dokumentasi (berbahasa Inggris) Gravity Forms per November 2026. Layar ditulis dengan nama item berbahasa Inggris. Jika Anda memakai tampilan dalam bahasa lain, penulisannya bisa berbeda.

Lisensi dan add-on yang bisa dipakai

Jumlah situs dan add-on yang bisa dipakai berbeda menurut lisensi.

Lisensi Jumlah situs Add-on utama
Basic 1 Add-on dasar seperti Mailchimp, HubSpot, dan reCAPTCHA
Pro 3 Selain isi Basic, ada Stripe, PayPal Checkout, Square, Zapier, Slack, dan sebagainya
Elite Tanpa batas Semua add-on (Webhooks, User Registration, Signature, Survey, dan sebagainya). Mendukung juga multisite

Add-on Webhooks yang mengirim data kiriman ke sistem eksternal hanya bisa dipakai di Elite (dan lisensi untuk organisasi nirlaba). Stripe dan PayPal Checkout untuk pembayaran tersedia di Pro ke atas. Sebelum membeli, periksa di halaman harga resmi lisensi mana yang memuat add-on yang Anda butuhkan.

Instalasi dan pendaftaran license key

Unduh file ZIP plugin dari halaman akun di situs resmi Gravity Forms, lalu pasang dan aktifkan lewat "Plugin → Tambah Baru → Unggah Plugin" (Plugins → Add New → Upload Plugin). Jika memakai WP-CLI, caranya sebagai berikut.

wp plugin install /path/to/gravityforms.zip --activate

License key dimasukkan di layar "Forms → Settings". Jika membagikan pengaturan yang sama ke beberapa lingkungan, ada juga cara menuliskannya sebagai konstanta di wp-config.php. Jika konstanta ditulis, kolom license key di layar pengaturan ditampilkan dalam keadaan tidak bisa diubah.

define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );

Membuat formulir dan memasangnya

  1. Buka "Forms → New Form" di layar admin, beri nama formulir, lalu buat.
  2. Dari "Add Fields" di sisi kanan, tempatkan field seperti nama (Name), alamat email (Email), nomor telepon (Phone), pilihan (Drop Down), isi pesan (Paragraph Text), dan centang persetujuan (Consent).
  3. Jika setiap field diklik, pengaturannya terbuka. Untuk item yang wajib diisi, aktifkan "Required".
  4. Simpan dengan "Save Form".

Untuk menempatkan formulir di halaman, tambahkan blok "Gravity Forms" di block editor lalu pilih formulir yang dibuat. Jika menempatkannya dengan shortcode, bentuknya seperti berikut, dan id adalah ID formulir yang ditampilkan di daftar formulir.

[gravityform id="1" title="false"]

Menampilkan atau menyembunyikan field dengan conditional logic

Penampilan bersyarat seperti "hanya jika jenis pertanyaan adalah 'Tentang lowongan kerja', tampilkan kolom unggah CV" diatur dengan conditional logic (Conditional Logic).

  1. Di editor formulir, klik field yang ingin ditampilkan atau disembunyikan (contoh: unggah file CV).
  2. Buka "Conditional Logic" pada pengaturan field, lalu aktifkan "Enable Conditional Logic".
  3. Pilih "Show (tampilkan)" atau "Hide (sembunyikan)", dan syaratnya "All (semua terpenuhi)" atau "Any (salah satu terpenuhi)".
  4. Pada baris kondisi, pilih field asal (jenis pertanyaan), perbandingan (is), dan nilai (Tentang lowongan kerja). Dengan tanda plus di samping baris, Anda bisa menambah kondisi.

Conditional logic juga bisa diatur masing-masing untuk email notifikasi dan pesan konfirmasi.

Mengatur email notifikasi

Email notifikasi diatur di "Forms → formulir yang dituju → Form Settings → Notifications". Saat formulir dibuat, satu notifikasi untuk administrator sudah disiapkan. Dengan "Add New", tambahkan notifikasi seperti balasan otomatis.

Item Isi
Send To Tujuan pengiriman. "Enter Email" adalah alamat tetap, "Select a Field" adalah kolom alamat email pada formulir, dan "Configure Routing" membagi tujuan sesuai isi yang dimasukkan
From Email Pengirim. {admin_email} (alamat email administrator di "Pengaturan → Umum" (Settings → General) WordPress) atau alamat tetap
Reply To Tujuan balasan. Pada notifikasi untuk administrator, jika Anda memasukkan merge tag kolom alamat email orang yang menghubungi, membalasnya lebih mudah
Subject / Message Subjek dan isi. Isi yang dimasukkan bisa disisipkan dengan merge tag

Merge tag adalah penanda untuk menyisipkan nilai yang dikirim. Nilai field berbentuk {Label:IDField} (contoh: {Name:1}, label boleh dihilangkan menjadi {:1}), dan {all_fields} menyisipkan semua isian dalam bentuk tabel. Jika Anda memilih dari tombol merge tag di kanan atas kolom pesan, Anda bisa memasukkannya tanpa mencari ID field.

Jika alamat pengirim dibuat dengan domain yang sama dengan situs, email lebih kecil kemungkinannya diperlakukan sebagai spam. Hindari menjadikan alamat email orang yang menghubungi sebagai pengirim; masukkan ke Reply To.

Pesan konfirmasi setelah pengiriman

Tampilan setelah pengiriman diatur di "Form Settings → Confirmations". Jenisnya ada tiga berikut.

  • Text: menampilkan pesan di tempat formulir (pengaturan awal)
  • Page: berpindah ke halaman di dalam situs
  • Redirect: berpindah ke URL yang ditentukan

Jika Anda menyiapkan halaman penyelesaian pengiriman untuk dipakai dalam pengukuran iklan atau analitik akses, pilih Page atau Redirect.

Menambah validasi input dengan PHP

Validasi input yang tidak cukup dengan pengaturan di layar admin bisa ditambahkan dengan filter gform_field_validation. Jika Anda menambahkan _IDformulir_IDfield di belakang nama hook, filter hanya berlaku untuk field itu. Contoh berikut memvalidasi nomor telepon yang dimasukkan di field ID 3 pada formulir ID 1. Tulis di functions.php tema atau di plugin buatan sendiri.

<?php
// Memvalidasi nomor telepon pada formulir ID 1, field ID 3
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
	if ( ! is_string( $value ) || '' === $value ) {
		return $result; // Penanganan isian kosong diserahkan pada pengaturan "Required" field
	}

	$digits = str_replace( array( '-', ' ' ), '', $value );

	if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
		$result['is_valid'] = false;
		$result['message']  = 'Masukkan nomor telepon berupa 10 atau 11 digit angka yang diawali 0 (tanda hubung boleh dipakai).';
	}

	return $result;
}, 10, 4 );

ID formulir dan ID field ditampilkan saat Anda memilih field di editor formulir. Jika formulir dibuat ulang, ID berubah, jadi pastikan ID-nya sama di lingkungan produksi dan pengembangan.

Memberi tahu pihak luar setelah pengiriman

Pada lisensi tanpa add-on Webhooks, jika Anda ingin memberi tahu Slack dan sebagainya setiap ada pengiriman, Anda bisa menulis prosesnya dengan action gform_after_submission. Action ini dijalankan setelah penyimpanan entri dan pengiriman email notifikasi selesai. Action ini juga dijalankan untuk entri yang dinilai spam, jadi periksa statusnya sebelum mengirim. Selain itu, pada lisensi Pro ke atas, ada juga cara mengaturnya dengan add-on Slack atau add-on Zapier.

<?php
// Memberi tahu Incoming Webhook Slack setelah formulir ID 1 dikirim
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
	if ( 'spam' === rgar( $entry, 'status' ) ) {
		return;
	}

	// Tulis URL Webhook di wp-config.php dengan define( 'MY_SLACK_WEBHOOK_URL', '...' );
	if ( ! defined( 'MY_SLACK_WEBHOOK_URL' ) ) {
		return;
	}

	wp_remote_post( MY_SLACK_WEBHOOK_URL, array(
		'headers' => array( 'Content-Type' => 'application/json' ),
		'body'    => wp_json_encode( array(
			'text' => sprintf( 'Pertanyaan baru: %s', rgar( $entry, '1' ) ),
		) ),
		'timeout' => 5,
	) );
}, 10, 2 );

rgar( $entry, '1' ) adalah nilai field ID 1. Untuk field yang memiliki beberapa kolom isian seperti field nama (Name), ambil dengan ID yang memakai titik desimal seperti '1.3' (nama depan) dan '1.6' (nama belakang). URL Webhook adalah informasi rahasia, jadi jangan menuliskannya langsung di kode dan jangan menyertakannya di repositori publik.

Memeriksa dan mengekspor entri

Data yang dikirim disimpan di database WordPress dan bisa dilihat dalam daftar di "Forms → Entries". Untuk mengekspor sebagai CSV, buka "Forms → Import/Export", pilih formulir di "Export Entries", tentukan item dan periode yang diekspor, lalu unduh.

Untuk mengambilnya dari PHP, gunakan GFAPI::get_entries(). Ini contoh memeriksa 10 entri terbaru dengan WP-CLI.

wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'

Hal yang perlu diperhatikan

  • Data kiriman memuat informasi pribadi. Jika penyimpanan tidak diperlukan, tentukan penanganannya, misalnya menetapkan masa simpan di pengaturan formulir lalu menghapusnya, dan tidak membiarkan CSV hasil ekspor tergeletak.
  • Jika email notifikasi tidak sampai, penyebabnya sering kali bukan Gravity Forms melainkan pengiriman email dari server. Memakai plugin yang mengirim lewat SMTP terkadang memperbaikinya.
  • Sebelum menambahkan kode PHP, periksa di lingkungan staging bahwa ID formulir dan ID field sudah sesuai dan berfungsi.

Ada pertanyaan tentang WordPress? Penerbit situs ini berada di Jepang dan membalas dalam bahasa Jepang. Kontak (bahasa Jepang)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲