Robuste Formen mit Schwerkraftformen

Gravity Forms, ein Produkt von Rocketgenius, ist eine umfassende Formularlösung für WordPress. Jeder Entwickler wird Ihnen sagen, dass das Erstellen eines Formulars manchmal sehr zeitaufwändig sein kann, insbesondere wenn es sich um mehr als nur um die Bearbeitung einer Nachricht handelt.

Was ist, wenn Sie ein Formular benötigen, das Benutzer anhand bestimmter Kriterien auf Ihrer Website registriert? Oder wie wäre es, wenn Sie ein Formular benötigen, mit dem Benutzer Inhalte aus einer Front-End-Perspektive auf Ihrer Website veröffentlichen können? Gravity Forms kann all dies tun, und was Sie nicht sofort tun können, können Sie mithilfe der eingebauten Haken und Filter selbst bauen.

Bevor ich bespreche, wie Gravity Forms Ihre WordPress-Installation erweitern kann, ist es wichtig zu wissen, dass Gravity Forms ein Premium-Plugin ist. Um einige der in diesem Beitrag behandelten Goodies zu erhalten, benötigen Sie mindestens eine Business-Lizenz für Gravity Forms. Ich empfehle jedoch die Developer License dringend, da sie den besten Preis für Ihr Geld bietet. Nachdem wir uns entschieden haben, werfen wir einen Blick auf einige Möglichkeiten, wie Gravity Forms eine WordPress-Site erweitern kann.


Benutzerregistrierungsformulare erweitern

Es ist möglich, zusätzliche Felder zu Ihrem Registrierungsformular hinzuzufügen, indem Sie Code in Ihr Formular einfügen Functions.php Datei, aber Sie können vermeiden, zu viel Zeit unter der Motorhaube zu verbringen, indem Sie Gravity Forms das schwere Heben übernehmen lassen. Das Erstellen von Benutzern und das Zuweisen von Benutzerrollen mit Gravity Forms ist einfach. Sie erstellen einfach ein Formular, ordnen Ihre Felder den Standardfeldern von WordPress zu und wählen die Benutzerrolle aus, die bei der Übergabe zugewiesen werden soll. Sie können auch mehrere "Registrierungen" für dasselbe Formular haben.

Ein Beispiel dafür, wie Gravity Forms den Benutzerregistrierungsprozess erweitern kann, ist die bedingte Registrierung. Wenn Sie beispielsweise eine Mitgliederseite haben, auf der nur Personen mit@ xyz.com' und '@ abc.comWenn Sie E-Mail-Adressen registrieren möchten, können Sie Registrierungs-Feeds hinzufügen, die nur Benutzer erstellen und Rollen zuweisen, je nachdem, ob sie diese Kriterien erfüllen. Andere Benutzer dürfen sich jedoch nicht registrieren.

Diese Bedingungslogik geht weit über die Benutzerregistrierung hinaus. Sie können Bedingungsfelder innerhalb eines beliebigen Formulars erstellen. Wenn Sie beispielsweise einem Benutzer basierend auf seiner Altersgruppe zusätzliche Felder anzeigen möchten, können Sie das Feld anpassen, indem Sie auswählen, ob andere Felder basierend auf ihrer Antwort angezeigt werden sollen (oder optional ausgeblendet werden).


Verwenden von Schwerkraftformularen für die Übermittlung von Front-End-Inhalten

Wenn Sie ein stabileres Frontend für Ihre Benutzer wünschen, kann Gravity Forms eine großartige Lösung sein, indem Sie Benutzern die direkte Übermittlung von Inhalten an Posts ermöglichen. Alles, was Sie tun müssen, ist ein Formular zu erstellen, das die eingebaute Post-Felder-Funktion verwendet. Diese Post-Felder werden dem Standard-Post-Titel, dem Inhalt, dem Ausschnitt, dem Feature-Bild, der Kategorie und dem Tag zugeordnet. Gravity Forms ordnet auch Formulardaten in benutzerdefinierte Felder zu. So ordnen Sie Ihren Inhalt einem benutzerdefinierten Feld zu:

Sehen Sie Ihr benutzerdefiniertes Feld nicht in der Dropdown-Liste? Gehen Sie zurück zu Ihren Posts und erstellen Sie einen "Entwurf", der den Inhalt im benutzerdefinierten Feld enthält, und speichern Sie ihn. Gehen Sie dann zurück zu Ihrem Schwerkraftformular und prüfen Sie es erneut.

Wenn Gravity Forms in Verbindung mit dem Plugin Gravity Forms + Custom Post Types verwendet wird, bietet die Kombination noch mehr Funktionalität, da Formulardaten benutzerdefinierten Post-Typen zugeordnet werden können, daher der Name des Plugins. Wenn Sie sich Sorgen machen, zu viele Plugins zu installieren - und nur Unterstützung für benutzerdefinierte Taxonomien benötigen - können Sie die Unterstützung immer manuell hinzufügen, indem Sie über Ihre Ihre eigenen Gravity Forms verwenden Functions.php Datei.


Apropos Haken und Filter

Gravity Forms wird mit einer umfangreichen Dokumentation geliefert. Wenn Sie es träumen können, können Sie es wahrscheinlich erreichen. Es gibt mehrere Hooks und Filter, die Sie nutzen können, und das Beste ist, Sie können sie einzelnen Formularen zuordnen. Angenommen, Sie möchten Benutzern erlauben, Beiträge an Ihre Site zu senden, aber Sie möchten die Titellänge steuern. Sie können eine benutzerdefinierte Validierungslogik erstellen, um die Länge der Eingabe zu begrenzen. Siehe Beispiel.

 add_filter ('gform_validation_7', 'title_size'); Funktion title_size ($ validation_result) $ form = $ validation_result ["form"]; // vorausgesetzt, wir wollen nicht, dass input_3 länger als 75 Zeichen ist. if (strlen ($ _POST ['input_3'])> 75) // setzt die Formularüberprüfung auf false $ validation_result ["is_valid"] = false; // Feld mit ID suchen, nach dem wir suchen, und das Feld als fehlgeschlagene Überprüfung für for ($ form ["Felder"]) als & $ -Feld markieren // Ersetzen Sie 3 durch die Feld-ID-Nummer, die Sie validieren. "id"] == "3") $ field ["failed_validation"] = true; $ field ["validation_message"] = "Titel ist zu lang."; brechen;  // Objekt zurück zum Ergebnis ändern $ validation_result ["form"] = $ form; Rückgabe $ validation_result; ?>

Der erste Teil des Codes verwendet den Filter für die Überprüfung von Gravity Forms und erstellt eine Funktion, mit der die Länge des betreffenden Felds getestet wird. Beachten Sie die Nummern 7 und 3 in diesem Snippet. 7 bezeichnet die Formular-ID und 3 bezeichnet die tatsächlich getestete Eingabe-ID.

Die Dokumentation zu Gravity Forms enthält eine Liste der verfügbaren Hooks und Filter sowie detaillierte Beispiele für jeden. Gelegentlich können Sie sogar sehen, wann und warum Sie sie benötigen.


Fazit

Wenn Sie nach einer Out-of-the-Box-Formularlösung suchen, die mehr als nur eine E-Mail sendet, ist Gravity Forms eine großartige Option - und Zeitersparnis. Die Möglichkeiten sind unbegrenzt. Für diejenigen, die über den Einsatz von Gravity Forms aufgrund des Kaufpreises debattieren oder auf dem Zaun sind, mag es hoch erscheinen, aber die Vorteile und Entwicklungszeiten, die durch die Verwendung von Gravity Forms eingespart werden, machen sich bezahlt.