2026年11月12日
2026年11月12日
Gravity Forms का इस्तेमाल: फ़ॉर्म, कंडीशनल लॉजिक, नोटिफ़िकेशन ईमेल
यह लेख जापानी मूल लेख का स्थानीयकृत संस्करण है। जापानी मूल लेख पढ़ें
Gravity Forms एक सशुल्क फ़ॉर्म प्लगइन है, जो WordPress.org पर वितरित नहीं होता। शर्त के अनुसार फ़ील्ड दिखाने-छिपाने वाला “कंडीशनल लॉजिक”, भेजी गई सामग्री के अनुसार नोटिफ़िकेशन के प्राप्तकर्ता बाँटना, और भेजे गए डेटा (एंट्री) को डेटाबेस में सहेजना व एक्सपोर्ट करना, ये सब एडमिन स्क्रीन से सेट किए जा सकते हैं। इस लेख में फ़ॉर्म बनाने का बुनियादी तरीका और डेवलपरों के लिए हुक का इस्तेमाल बताया गया है। लाइसेंस की जानकारी और स्क्रीन की मदों के नाम नवंबर 2026 में Gravity Forms की आधिकारिक साइट और दस्तावेज़ (अंग्रेज़ी) से जाँचे गए हैं। स्क्रीन के नाम अंग्रेज़ी में लिखे गए हैं; दूसरी भाषा में दिखाने पर लिखावट अलग हो सकती है।
लाइसेंस और उपलब्ध ऐड-ऑन
लाइसेंस के अनुसार साइटों की संख्या और ऐड-ऑन बदलते हैं।
| लाइसेंस | साइटों की संख्या | मुख्य ऐड-ऑन |
|---|---|---|
| Basic | 1 | Mailchimp, HubSpot, reCAPTCHA जैसे बुनियादी ऐड-ऑन |
| Pro | 3 | Basic के साथ Stripe, PayPal Checkout, Square, Zapier, Slack आदि |
| Elite | असीमित | सभी ऐड-ऑन (Webhooks, User Registration, Signature, Survey आदि)। मल्टीसाइट को भी सपोर्ट |
बाहरी सिस्टम को भेजे गए डेटा के लिए Webhooks ऐड-ऑन सिर्फ़ Elite (और गैर-लाभकारी संस्थाओं के लाइसेंस) में उपलब्ध है। भुगतान के लिए Stripe और PayPal Checkout Pro या उससे ऊपर में हैं। ख़रीदने से पहले आधिकारिक क़ीमत वाले पेज पर देखें कि ज़रूरी ऐड-ऑन किस लाइसेंस में शामिल हैं।
इंस्टॉल करना और लाइसेंस कुंजी दर्ज करना
Gravity Forms की आधिकारिक साइट के खाते वाले पेज से प्लगइन की ZIP फ़ाइल डाउनलोड करें और “प्लगइन → नया जोड़ें → प्लगइन अपलोड करें” (Plugins → Add New → Upload Plugin) से इंस्टॉल करके सक्रिय करें। WP-CLI इस्तेमाल करना हो तो यह है।
wp plugin install /path/to/gravityforms.zip --activate
लाइसेंस कुंजी “Forms → Settings” स्क्रीन में डालें। कई माहौलों में एक जैसी सेटिंग देनी हो तो wp-config.php में कॉन्स्टैंट के रूप में लिखने का तरीका भी है। कॉन्स्टैंट लिखने पर सेटिंग स्क्रीन की लाइसेंस कुंजी वाली जगह बदली न जा सकने वाली दिखती है।
define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );
फ़ॉर्म बनाएँ और लगाएँ
- एडमिन स्क्रीन में “Forms → New Form” खोलें, फ़ॉर्म का नाम देकर बनाएँ।
- दाईं ओर “Add Fields” से नाम (Name), ईमेल पता (Email), फ़ोन नंबर (Phone), विकल्प (Drop Down), मुख्य पाठ (Paragraph Text), सहमति का चेक (Consent) जैसे फ़ील्ड रखें।
- हर फ़ील्ड पर क्लिक करने से उसकी सेटिंग खुलती है। जो मद अनिवार्य करनी हो उसके लिए “Required” चालू करें।
- “Save Form” से सहेजें।
फ़ॉर्म को पेज में रखने के लिए ब्लॉक एडिटर में “Gravity Forms” ब्लॉक जोड़कर बनाया हुआ फ़ॉर्म चुनें। शॉर्टकोड से रखना हो तो रूप नीचे दिया है, और id फ़ॉर्म सूची में दिखने वाली फ़ॉर्म की ID है।
[gravityform id="1" title="false"]
कंडीशनल लॉजिक से फ़ील्ड दिखाएँ-छिपाएँ
“पूछताछ का प्रकार ‘भर्ती के बारे में’ हो, तभी रिज्यूमे अपलोड की जगह दिखाएँ” जैसा दिखाना-छिपाना कंडीशनल लॉजिक (Conditional Logic) से सेट होता है।
- फ़ॉर्म एडिटर में जिस फ़ील्ड को दिखाना-छिपाना है (जैसे: रिज्यूमे का फ़ाइल अपलोड) उस पर क्लिक करें।
- फ़ील्ड की सेटिंग में “Conditional Logic” खोलें और “Enable Conditional Logic” चालू करें।
- “Show (दिखाएँ)” या “Hide (छिपाएँ)” चुनें, और शर्त के लिए “All (सभी पूरी हों)” या “Any (कोई एक पूरी हो)” चुनें।
- शर्त की पंक्ति में आधार वाला फ़ील्ड (पूछताछ का प्रकार), तुलना (is) और मान (भर्ती के बारे में) चुनें। पंक्ति के बग़ल के प्लस से और शर्तें जोड़ी जा सकती हैं।
नोटिफ़िकेशन ईमेल और पुष्टि संदेश में भी अलग-अलग कंडीशनल लॉजिक सेट किया जा सकता है।
नोटिफ़िकेशन ईमेल सेट करें
नोटिफ़िकेशन ईमेल “Forms → संबंधित फ़ॉर्म → Form Settings → Notifications” में सेट होते हैं। फ़ॉर्म बनाने पर एडमिन के लिए एक नोटिफ़िकेशन पहले से तैयार रहता है। “Add New” से ऑटो-रिप्लाई जैसे और नोटिफ़िकेशन जोड़ें।
| मद | विवरण |
|---|---|
| Send To | भेजने का पता। “Enter Email” तय पता है, “Select a Field” फ़ॉर्म का ईमेल फ़ील्ड है, और “Configure Routing” भरी गई सामग्री के अनुसार प्राप्तकर्ता बाँटता है |
| From Email | भेजने वाला। {admin_email} (WordPress के “सेटिंग्स → सामान्य” (Settings → General) का एडमिन ईमेल पता) या कोई तय पता |
| Reply To | जवाब का पता। एडमिन को जाने वाले नोटिफ़िकेशन में पूछताछ करने वाले के ईमेल फ़ील्ड का मर्ज टैग डाल दें तो जवाब देना आसान होता है |
| Subject / Message | विषय और मुख्य पाठ। मर्ज टैग से भरी गई सामग्री जोड़ी जा सकती है |
मर्ज टैग वे चिह्न हैं जिनसे भेजा गया मान जोड़ा जाता है। फ़ील्ड का मान {लेबल:फ़ील्ड ID} के रूप में होता है (जैसे {Name:1}, लेबल छोड़कर {:1} भी चलता है), और {all_fields} सारी भरी गई सामग्री को तालिका के रूप में जोड़ता है। संदेश वाली जगह के ऊपर दाईं ओर के मर्ज टैग बटन से चुनने पर फ़ील्ड ID खोजे बिना डाला जा सकता है।
भेजने वाले का पता साइट के ही डोमेन का रखें, तो स्पैम माने जाने की आशंका कम होती है। पूछताछ करने वाले का ईमेल पता भेजने वाले के रूप में न रखें; उसे Reply To में डालें।
भेजने के बाद का पुष्टि संदेश
भेजने के बाद क्या दिखे, यह “Form Settings → Confirmations” में सेट होता है। प्रकार तीन हैं।
- Text: फ़ॉर्म की जगह संदेश दिखाना (डिफ़ॉल्ट)
- Page: साइट के भीतर किसी पेज पर जाना
- Redirect: बताए गए URL पर जाना
अगर विज्ञापन या एक्सेस विश्लेषण की माप के लिए भेजने के बाद का पूर्णता पेज बनाना हो, तो Page या Redirect चुनें।
PHP से इनपुट की जाँच जोड़ें
एडमिन सेटिंग से जो इनपुट जाँच न हो सके, वह gform_field_validation फ़िल्टर से जोड़ी जा सकती है। हुक के नाम के बाद _फ़ॉर्म ID_फ़ील्ड ID लगाने पर वह सिर्फ़ उसी फ़ील्ड पर लागू होता है। नीचे का उदाहरण फ़ॉर्म ID 1 के फ़ील्ड ID 3 में भरे गए फ़ोन नंबर की जाँच करता है (यह जापानी फ़ोन नंबर के रूप के लिए है)। इसे थीम के functions.php में या अपने प्लगइन में लिखें।
<?php
// फ़ॉर्म ID 1 और फ़ील्ड ID 3 के फ़ोन नंबर की जाँच करता है
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
if ( ! is_string( $value ) || '' === $value ) {
return $result; // ख़ाली छोड़ने का मामला फ़ील्ड की "Required" सेटिंग पर छोड़ें
}
$digits = str_replace( array( '-', ' ' ), '', $value );
if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
$result['is_valid'] = false;
$result['message'] = 'फ़ोन नंबर 0 से शुरू होने वाले 10 या 11 अंकों में दर्ज करें (हाइफ़न चल सकता है)।';
}
return $result;
}, 10, 4 );
फ़ॉर्म ID और फ़ील्ड ID फ़ॉर्म एडिटर में फ़ील्ड चुनने पर दिखती हैं। फ़ॉर्म दोबारा बनाने पर ID बदल जाती है, इसलिए पक्का करें कि प्रोडक्शन और डेवलपमेंट माहौल में ID एक जैसी हैं।
भेजने के बाद बाहर सूचना भेजें
जिस लाइसेंस में Webhooks ऐड-ऑन नहीं है, उसमें हर बार भेजे जाने पर Slack आदि को सूचना देनी हो तो gform_after_submission ऐक्शन में कोड लिखा जा सकता है। यह ऐक्शन एंट्री सहेजने और नोटिफ़िकेशन ईमेल भेजने के पूरा होने के बाद चलता है। स्पैम माने गए एंट्री पर भी चलता है, इसलिए स्थिति जाँचकर ही भेजें। वैसे, Pro या उससे ऊपर के लाइसेंस में Slack ऐड-ऑन या Zapier ऐड-ऑन से सेट करने का तरीका भी है।
<?php
// फ़ॉर्म ID 1 के भेजे जाने के बाद Slack के Incoming Webhook को सूचना भेजता है
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
if ( 'spam' === rgar( $entry, 'status' ) ) {
return;
}
// Webhook का URL wp-config.php में 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( 'नई पूछताछ: %s', rgar( $entry, '1' ) ),
) ),
'timeout' => 5,
) );
}, 10, 2 );
rgar( $entry, '1' ) फ़ील्ड ID 1 का मान है। नाम (Name) जैसे कई इनपुट वाले फ़ील्ड में से '1.3' (पहला नाम) और '1.6' (उपनाम) जैसी दशमलव वाली ID से मान निकाले जाते हैं। Webhook का URL गोपनीय जानकारी है, इसलिए इसे कोड में सीधे न लिखें और सार्वजनिक रिपॉज़िटरी में भी शामिल न करें।
एंट्री देखें और एक्सपोर्ट करें
भेजा गया डेटा WordPress के डेटाबेस में सहेजा जाता है और “Forms → Entries” में सूची के रूप में देखा जा सकता है। CSV में एक्सपोर्ट करने के लिए “Forms → Import/Export” खोलें, “Export Entries” में फ़ॉर्म चुनें, एक्सपोर्ट की जाने वाली मदें और अवधि बताएँ और डाउनलोड करें।
PHP से निकालना हो तो GFAPI::get_entries() इस्तेमाल करें। यह WP-CLI से ताज़ा 10 एंट्री देखने का उदाहरण है।
wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'
ध्यान देने की बातें
- भेजे गए डेटा में व्यक्तिगत जानकारी होती है। सहेजना ज़रूरी न हो तो फ़ॉर्म की सेटिंग में सहेजने की अवधि तय करके हटाना, एक्सपोर्ट की गई CSV को यूँ ही न छोड़ना जैसा संचालन पहले से तय कर लें।
- नोटिफ़िकेशन ईमेल न पहुँचे तो कारण अक्सर Gravity Forms नहीं, सर्वर की ईमेल भेजने की व्यवस्था होती है। SMTP से भेजने वाले प्लगइन से सुधार हो सकता है।
- PHP कोड जोड़ने से पहले स्टेजिंग वातावरण में जाँचें कि फ़ॉर्म ID और फ़ील्ड ID सही हैं और कोड चलता है।
WordPress के बारे में सवाल हैं? इस साइट के प्रकाशक जापान में हैं और जापानी में जवाब देते हैं। संपर्क (जापानी)