2015-09-16 4 views
7

सबमिट करने के बाद एकाधिक रूपों से संयुक्त रूप से तृतीय पक्ष में प्रवेश डेटा भेजने के लिए गुरुत्वाकर्षण फॉर्म हुक से परिचित नहीं हूं। मैंने 2 साइन अप प्रक्रिया फॉर्म बनाए हैं जो एकल मोडल में प्रदर्शित होते हैं लेकिन विभिन्न divs में बुलाए जाते हैं। मैं इन आंकड़ों को 2 फॉर्मों से तीसरे पक्ष के आवेदन में भेजना चाहता था, gform_after_submission एक विशिष्ट फॉर्म (अंतिम रूप) सबमिट करने के बाद तृतीय पक्ष को प्रवेश डेटा भेजना चाहता हूं।गुरुत्वाकर्षण प्रपत्र एक विशिष्ट फॉर्म

हालांकि यह कर:

add_action('gform_after_submission_2', 'post_to_third_party', 10, 2); 
    function post_to_third_party($entry, $form) { 

    $post_url = 'http://thirdparty.com'; 
    $body = array(
     'first_name' => rgar($entry, '1.3'), 
     'last_name' => rgar($entry, '1.6'), 
     'message' => rgar($entry, '3'), 
    ); 

    $request = new WP_Http(); 
    $response = $request->post($post_url, array('body' => $body)); 
} 

केवल मुझे निर्दिष्ट फार्म आईडी से प्रविष्टि क्षेत्रों पाने के लिए अनुमति देगा।

यह कैसे संभव होगा कि मुझे अन्य रूपों से भी प्रविष्टियां मिलें ताकि मैं इसे तृतीय पक्ष यूआरएल में शामिल कर सकूं?

आगे धन्यवाद।

+0

आपको प्रवेश आईडी जानना होगा ताकि आप उन्हें GFAPI :: get_entry ($ entry_id)। – David

+0

क्या यह अन्य रूपों से भी प्रविष्टियां प्राप्त करता है? –

+0

हां। यदि आप एंट्री आईडी जानते हैं तो इसे किसी भी फॉर्म से कोई प्रविष्टि मिलेगी। – David

उत्तर

1

क्योंकि आप ADD_ACTION अपने आप में प्रपत्र आईडी निर्दिष्ट करते हैं के आधार पर दिनांक प्राप्त कर सकते हैं, आप केवल अपने समारोह चल रहे हैं जब ग्रेविटी पर्चा , 2 की आईडी के साथ, जमा किया गया है। आप इसे एक से अधिक प्रविष्टियों के लिए चलाने के लिए, लेकिन फिर विशिष्ट रूप आईडी तक सीमित है, तो इस तरह के और अधिक कुछ करना चाहते हैं:

add_action('gform_after_submission', 'post_to_third_party', 10, 2); 
    function post_to_third_party($entry, $form) { 

    if($form->id == 2 || $form->id == somenumber) { 
     $post_url = 'http://thirdparty.com'; 
     $body = array(
      'first_name' => rgar($entry, '1.3'), 
      'last_name' => rgar($entry, '1.6'), 
      'message' => rgar($entry, '3'), 
     ); 

     $request = new WP_Http(); 
     $response = $request->post($post_url, array('body' => $body)); 
    } 
} 

आप घटना आप वस्तु के साथ काम नहीं कर रहे हैं में $form['id'] उपयोग करने की आवश्यकता हो सकती है। उनमें से एक काम करेगा। नकारात्मकता यह है कि आपको उन फॉर्मों की आईडी जाननी चाहिए जिनके साथ आप काम करना चाहते हैं। आपके द्वारा बनाए गए फ़ॉर्मों की तालिका को देखते समय यह बैकएंड में आसानी से पाया जाता है, लेकिन यह वही है ...

0

आप एक ही पोस्ट करने के लिए प्रपत्र डेटा की बचत कर रहे हैं हो सकता है आप पोस्ट आईडी

संबंधित मुद्दे