Robusta former med tyngdformer

Gravity Forms, en rocketgenius-produkt, är en omfattande formulärlösning för WordPress. Vilken utvecklare som helst kommer att berätta att byggandet av ett formulär ibland kan vara mycket tidskrävande, speciellt om det behöver göra mer än att hantera ett meddelande.

Vad händer om du behöver en blankett som registrerar användare på din webbplats baserat på vissa kriterier? Eller vad händer om du behöver en blankett som låter en användare lägga in innehåll på din webbplats, från ett front-end-perspektiv? Gravity Forms kan göra allt detta, och vad det inte går att göra ute i rutan kan du bygga dig själv med hjälp av sina inbyggda krokar och filter.

Innan jag diskuterar hur Gravity Forms kan förlänga din WordPress-installation, är det viktigt att notera att Gravity Forms är en premium plugin. För att få några av de godis som diskuteras i det här inlägget behöver du åtminstone en Business License for Gravity Forms, men jag rekommenderar starkt utvecklarlicensen eftersom det ger mest pengar för pengarna. Nu när vi har avgjort det, låt oss ta en titt på några sätt Gravity Forms kan förlänga en WordPress-webbplats.


Utöka användarregistreringsformulär

Det är möjligt att lägga till extra fält i ditt registreringsformulär genom att lägga till kod till din functions.php fil, men du kan undvika att spendera för mycket tid under huven genom att låta Gravity Forms göra tunga lyft. Att skapa användare och tilldela användarroller med Gravity Forms är enkelt, du skapar helt enkelt ett formulär, matchar dina fält med standardfälten i WordPress och väljer användarrollen som ska tilldelas vid inlämning. Du kan också ha flera "registreringar" för samma blankett.

Ett exempel på hur Gravity Forms kan förlänga användarregistreringsprocessen är med villkorlig registrering. Om du till exempel har en medlemskapswebbplats som endast tillåter personer med "@ xyz.com"och"@ abc.com'e-postadresser för att registrera, kan du lägga till registreringsfeeds som bara skapar och tilldelar användarna roller beroende på om de uppfyller dessa kriterier, samtidigt som de inte tillåter andra att registrera sig.

Denna villkorliga logik går långt utöver användarregistreringen, du kan skapa villkorliga fält inom vilken typ av form som helst. Om du till exempel vill visa ytterligare fält till en användare baserat på deras åldersgrupp kan du anpassa fältet genom att välja för att visa (eller eventuellt dölja) andra fält baserat på deras svar.


Använda Gravity Forms för Inlämning av Innehåll

Om du vill ha ett mer robust front-end för dina användare kan Gravity Forms vara en bra lösning genom att tillåta användare att skicka in innehåll till inlägg direkt. Allt du behöver göra är att skapa ett formulär som använder funktionen inbyggd postfält. Dessa postfältskartor till standardposttiteln, kroppsinnehållet, utdraget, funktionen bild, kategori och tagg. Gravity Forms kartar även formulärdata till egna fält. För att kartlägga ditt innehåll till ett anpassat fält:

Får du inte se ditt anpassade fält som anges i rullgardinsmenyn? Gå tillbaka till dina inlägg och skapa ett "utkast" som innehåller innehåll i det anpassade fältet och spara det. Gå sedan tillbaka till din Gravity Form och kolla igen.

När Gravity Forms används tillsammans med plugin Gravity Forms + Anpassade posttyper erbjuder kombinationen ännu mer funktionalitet genom att tillåta formdata att mappas till anpassade posttyper, följaktligen namnet på plugin. Om du är orolig för att installera för många plugins - och behöver bara stöd för anpassade taxonomier - kan du alltid lägga till support manuellt genom att ansluta till Gravity Forms via din functions.php fil.


Tala om krokar och filter

Gravity Forms kommer med omfattande dokumentation. Om du kan drömma det, kan du förmodligen uppnå det. Det finns flera krokar och filter du kan dra nytta av, och det bästa är att du kan tilldela dem enskilda formulär. Antag att du ville tillåta användare att skicka in inlägg till din webbplats, men du ville kontrollera sin titellängd, du kan skapa anpassad valideringslogik för att begränsa längden på inmatningen. Se exempel.

 add_filter ('gform_validation_7', 'title_size'); funktion title_size ($ validation_result) $ form = $ validation_result ["form"]; // förutsatt att vi inte vill att input_3 ska vara längre än 75 tecken. om (strlen ($ _POST ['input_3'])> 75) // ange formvalideringen till false $ validation_result ["is_valid"] = false; // hitta fält med ID vi letar efter och markera det som misslyckad validering foreach ($ form ["fields"] som & $ fält) // ersätt 3 med fältet ID-numret du validerar om ($ fält [ "id"] == "3") $ fält ["failed_validation"] = true; $ field ["validation_message"] = "Titel är för lång."; ha sönder;  // ändra objekt tillbaka till resultatet $ validation_result ["form"] = $ form; returnera $ validation_result; ?>

Den första delen av koden använder filtret för Gravity Forms-validering och skapar en funktion som testar längden på det aktuella fältet. Var uppmärksam på siffrorna 7 och 3 inom detta kod. 7 anger form ID och 3 betecknar det faktiska inmatnings-ID som testas.

Gravity Forms dokumentationen innehåller en lista över tillgängliga krokar och filter samt detaljerade exempel på var och en - ibland kan du även se när / varför du kanske behöver dem.


Slutsats

Om du letar efter en lösning utan formulär som gör mer än att skicka ett mail, är Gravity Forms ett bra alternativ - och tidsbesparare. Möjligheterna är obegränsade. För dem som debatterar eller på staketet om att använda Gravity Forms på grund av inköpspriset, kan det tyckas högt, men fördelarna och utvecklingen som sparas med hjälp av Gravity Forms betalar för sig själv.