AJAX-os beküldés
A Gravity Forms három beküldési módja, az új AJAX-os mód előnye a fizetésnél, és bekapcsolása a gform_form_args szűrővel.
A 2.9-es kiadás új űrlapbeküldési módot hozott: az AJAX-os beküldést. Ez AJAX-kéréssel küldi el az űrlapot a kiszolgálónak, az oldal újratöltése nélkül. Emellett a kiegészítők közvetlenebbül tudnak együttműködni külső szolgáltatásokkal, például fizetési átjárókkal. Az első, erre épülő kiegészítő a Stripe, a többi fizetési kiegészítő később követi.
Beküldési módok
Szekció neve “Beküldési módok”A Gravity Forms három beküldési módot ismer.
| Mód | Érték | Leírás |
|---|---|---|
| Postback | postback |
Az alapértelmezett. Az űrlap elküldése után az oldal újratöltődik. |
| Régi AJAX | iframe |
A korábbi „AJAX” beállítás. Az űrlap egy rejtett iframe-en át megy el, az oldal nem töltődik újra, de ez nem valódi AJAX-kérés. |
| AJAX | ajax |
A 2.9-es kiadásban jött. Az űrlap valódi AJAX-kéréssel megy el. |
Ha egy űrlapon korábban bekapcsoltad az AJAX-ot, például az ajax="true" rövidkód-attribútummal vagy a blokk beállításával, az az űrlap a régi AJAX-ot használja, nem az új beküldési módot.
Miért készült
Szekció neve “Miért készült”A régebbi beküldési módokat nem olyan fizetési átjárókhoz tervezték, amelyek a böngészőben erősítik meg a fizetést. Hogy működjenek velük, a kiegészítőknek a fizetési átjáró folyamatát kellett a Gravity Forms beküldési folyamatához igazítaniuk.
Ez ellentmondásos állapotot hagyhatott maga után. Ha például a vásárló a folyamat közepén bezárta a böngészőt vagy elnavigált, a Stripe-fizetés végbemehetett anélkül, hogy a Gravity Formsban beküldés jött volna létre hozzá.
Hogyan működik a Stripe-pal
Szekció neve “Hogyan működik a Stripe-pal”A Stripe kiegészítő 7.0.0-s verziójától a beküldéskori események sorrendje megváltozott:
- Az űrlap AJAX-szal elmegy.
- Először a beküldés jön létre, még mielőtt bármilyen fizetés létrejönne a Stripe-ban.
- A fizetés ezután külön AJAX-kéréssel jön létre és kerül feldolgozásra, a már meglévő beküldéshez kapcsolva.
Mivel a beküldés mindig megelőzi a fizetést, a vásárló nem terhelhető meg úgy, hogy ne jönne létre hozzá beküldés.
Az AJAX-os beküldés bekapcsolása
Szekció neve “Az AJAX-os beküldés bekapcsolása”Az űrlapszerkesztőben nincs erre beállítás. A bekapcsoláshoz használd a gform_form_args szűrőt, és állítsd a submission_method értékét GFFormDisplay::SUBMISSION_METHOD_AJAX-ra. Ez a példa minden űrlapra bekapcsolja:
add_filter( 'gform_form_args', function ( $args ) { $args['submission_method'] = GFFormDisplay::SUBMISSION_METHOD_AJAX;
return $args;} );Ha csak bizonyos űrlapokra akarod, a szűrőben az űrlap azonosítója szerint válogass.
A Stripe kiegészítőt használó űrlapoknál nem kell bekapcsolnod, mert a kiegészítő magától bekapcsolja. Ha az űrlap más kiegészítőt használ, alaposan teszteld tesztoldalon (lásd a Tesztoldal (staging) fejezetet).
Hova tedd a kódot
Szekció neve “Hova tedd a kódot”A kód az aktív téma functions.php fájljába, egyedi funkciókat tartalmazó bővítménybe, saját kiegészítőbe vagy kódrészlet-bővítménybe is kerülhet.
Támogatott kiegészítők
Szekció neve “Támogatott kiegészítők”| Kiegészítő | Verzió |
|---|---|
| Stripe | 7.0.0 és újabb |
A többi fizetési kiegészítő akkor kerül a listára, amikor frissítik őket az AJAX-os beküldés használatára.
Az AJAX-ra vonatkozó, régi beállítási módokról (rövidkód, blokk) az Űrlap beszúrása rövidkóddal és az Az Űrlap blokk beállításai fejezetben olvashatsz.
Készült: