✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Gravitatsioonivormid: pärast esitamist lisage kohandatud sisendid väljadele ja kaugpostitustele

11

Selles Gravity Forms’i õpetuses õpime kolme asja:

  • Kuidas lisada kohandatud sisendit mis tahes valitud väljatüübile
  • Kuidas lisada vormile kohandatud sätteid
  • Ja lõpuks, kuidas kaugpostitada konkreetsete väljade jaoks esitatud väärtusi pärast iga vormi esitamist.

See postitus eeldab, et soovite lisada Gravity Formsile funktsioone, et saata pärast iga vormi esitamist kaugpostituse päring. Kaugpostituse sees saadate vormilt väärtused, mida saab vormiredaktori lisaseadetega kohandada. Levinud näited selle kohta, kus see oleks kasulik, on näiteks nime ja e-posti aadressi esitamine Mailchimpi uudiskirjade loendisse või mis tahes muu kolmanda osapoole integreerimine.

Praktikas saab seda lahendada nii, et esmalt lisatakse igale väljale kohandatud sätted, kuhu redaktor saab sisestada võtmenimed. Võti ja nende esitatud väärtused saadetakse pärast iga vormi esitamist kolmanda osapoole URL-ile. Lisame ka sätte, et saaksite iga vormi puhul seda tüüpi kolmanda osapoole esitamise aktiveerida.

Kogu alloleva koodi saab paigutada teie teema functions.phpvõi pistikprogrammi koodi.

Kohandatud sisendi lisamine väljadele

Esimene samm on sisendi lisamine väljaredaktoris väljadele, kuhu saate sisestada selle väärtuse võtmenime. Kaasame ja esitame ainult väärtused, kus see sisend on täidetud.

Sisestuskoha valimine

Gravity Forms pakub konkse, mida saame kasutada kohandatud asjade lisamiseks väljaredaktorisse. Konksu nimi sõltub sellest, millisel vahekaardil soovite oma välja kuvada.

  • Vahekaart "Üldine":gform_field_standard_settings
  • Vahekaart „Välimus":gform_field_appearance_settings
  • Vahekaart "Täpsem":gform_field_advanced_settings

Igas konksus on kaks parameetrit; positsioon ja vormi ID. Igal sisseehitatud Gravity Forms seadistusel on fikseeritud positsiooninumber. Saate seda arvu võrrelda, et otsustada täpselt, kus soovite oma kohandatud HTML-i või sisendit asuda. Kõigi seadete ja nende asukoha loetlemine oleks selles postituses liiga pikk. Kuid Gravity Forms lisab oma sätted 5 kaupa. Näiteks vahekaardil Üldine on "Välja silt" positsioonil 0 ja "Kirjeldus" on positsioonil 10. Kui asetate oma HTML-i positsioonile 10, kuvatakse see pärast kirjeldust. Ärge võrrelge positsiooni ühegi arvuga, mis ei ole 5 kordaja.

Lisan oma kohandatud välja vahekaardile Täpsemalt positsioonile 50, mis on kohe pärast sisestust „Admin Field Label”.

Suurem osa ülaltoodud koodist on iseenesestmõistetav. Lisan HTML-i samas vormingus, nagu Gravity Forms eeldaks, et seade on sees. Kuid sisendis endas peate esitama onchangeJavascripti funktsiooni. Me lihtsalt käsime tal käivitada GravityFormsi funktsioon, et salvestada kõik meie sisendis tehtud muudatused. Oluline on meeles pidada atribuuti, mille me esitame SetFieldProperty, thirdPartyInput, selles võtmes, kus meie kohandatud sisend salvestatakse esitamisel Gravity Formsi väljade massiivi.

Tööriistavihje lisamine (valikuline)

Saate oma sisendiga teha veel ühe valikulise toimingu; lisage kohtspikker. Kui soovite seda, lisage see funktsioonikutse äsja lisatud koodi sisse ja sisestage stringina (ainulaadne) võti:

Seejärel lisage veel üks funktsioon, mis haakub filtri külge gform_tooltips, ja lisage tööriistaspikri sisu vastavale klahvile, näiteks järgmiselt:

Tööriistaspikri lisamine on täiesti vabatahtlik, kuid see on kena viis saidiomanikele selgitada, mida see sisend teeb. Muutke sisu nii, et see sobiks teie funktsioonidega.

Kohandatud sisendi lisamise väljatüüpide määramine

Võite märgata, et teie välja ei kuvata ühelgi vahekaardil Täpsemalt. Selle põhjuseks on asjaolu, et me peame Gravity Formsile ütlema, millistel väljatüüpidel me seda sisendit soovime kuvada. Vaikimisi seda ei kuvata.

See, kuidas me seda teeme, on tegelikult Javascript. GravityFormsil on Javascript, mis peidab automaatselt kõik sätted ja valib seejärel konkreetsete kuvamise vastavalt väljatüübile. Nii et meie väli on olemas, kuid Gravity Forms on selle lihtsalt ära peitnud.

Haakeme kokku gform_editor_jsja peame tegema kahte asja. Esiteks otsustame, millistel väljatüüpidel sisend ilmub. Ja teiseks veendume, et sisend täidetakse laadimisel selle väärtusega.

Lisan sisendi väljatüüpidele text, textarea, email, phoneja number. Ärge unustage kaaluda, kuidas kavatsete esitatud väljade väärtusi käsitleda. Kui otsustate selle välja lubada näiteks märkeruudu väljatüübi puhul, peate suutma esitatud väärtusi õigesti sõeluda ja käsitleda.

Gravitatsioonivormid: pärast esitamist lisage kohandatud sisendid väljadele ja kaugpostitustele

Nüüd peaksite lõpuks nägema oma kohandatud sisendit vahekaardil Täpsemalt, kui väli on mõnda pakutud tüüpi. Samuti näete, et see salvestati edukalt ja laaditakse salvestatud väärtusega. Iga kord, kui vorm edaspidi esitatakse ja see sisend on täidetud, sisaldab vormivälja massiiv atribuuti thirdPartyInput.

Järgmine samm on sätte lisamine vormile, et aktiveerida kolmandale osapoolele esitamine. See on valikuline, kuid soovitatav. Soovime vältida tarbetu koodi käitamist või millegi kolmandale osapoolele esitamist, kui me seda ei kavatse.

Kohandatud sätte lisamine vormi sätetele

Kohandatud sätete lisamine vormi sätetele on üsna lihtne. Peame haakuma filtri külge gform_form_settingsja lisama oma HTML-i soovitud sisenditega, seejärel filtrile gform_pre_form_settings_saveja veenduma, et meie kohandatud sisend(id) salvestatakse vormiobjektile.

Vormi seadetele kohandatud sätte lisamiseks järgmiselt.

Filter gform_form_settings eeldab, et võtmed on jaotisesilt ja seejärel iga sätte massiiv. Võtmega lisame ainult ühe submit_3rd_party. Märkeruudu sisestuses kasutame Gravity Formsi meetodit rgar(), et eraldada massiivist (vormist) antud võtme väärtused, et tagada meie välja salvestatud väärtuse toomine. Muutke HTML-i vastavalt oma vajadustele.

Väli kuvatakse nüüd vormi seadete allosas. Kuid see ei salvesta teie muudatusi veel, seega peame selle parandama.

add_filter('gform_pre_form_settings_save', function($form) { $form['submit_3rd_party'] = rgpost('submit_3rd_party'); return $form; }, 10, 2);

Gravitatsioonivormid: pärast esitamist lisage kohandatud sisendid väljadele ja kaugpostitustele

rgpost()See koodilõik kasutab esitatud väärtuste eraldamiseks (alates) teist Gravity Formsi abimeetodit $_POSTja salvestab need meie soovitud võtmega antud vormimassiivi. Kui lisate rohkem sätteid, peate seda iga seade puhul kordama.

Ja see on kõik, mida vajame kohandatud vormiseadete lisamiseks! Kui teil on juurdepääs vormiobjektile, saate kontrollida väärtust $form['submit_3rd_party'].

Saatke esitatud väärtused kolmandale osapoolele

Hea konks kohandatud toimingute jaoks, nagu päringu sooritamine ja esitatud vormilt andmete saatmine, on gform_after_submission. Sel hetkel on kogu valideerimine läbitud ja kirje (vastuse) objekt on loodud. Selle konksuga saame ligipääsu sisestusobjektile ja vormiobjektile.

See, mida te selles toimingus teete, on teie otsustada ning kuidas peate andmed välja võtma ja kuidas postitamistaotlust täidate. Selle näite puhul teen lihtsa postituse päringu, kasutades WordPressi funktsiooni wp_remote_post()ja kõigi väljade massiivi, mis olid kehas täitnud meie kohandatud sisendi.

Näete, et ma kontrollin esmalt, kas vormil on edastused aktiveeritud. Kui sellel on kood, liigub see läbi kõigi vormiväljade ja kontrollib, kas iga väli on meie kohandatud sisendisse midagi lisanud. Kui sisend pole tõesti tühi, kontrollib kood ka seda, kas selle välja jaoks on midagi esitatud. Kui teil on õigus tühjade väärtuste esitamiseks, saate selle märke eemaldada.

URL-i ja andmete saatmise osa on midagi, mida peate ilmselt ise kohandama. Soovi korral saate vastusega midagi ette võtta, näiteks saata meili, kui see ebaõnnestus või midagi muud. Kõik sõltub teist, kuidas soovite oma funktsioone hallata.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem