2026年11月12日

2026年11月12日

Gravity Forms: Formulare, bedingte Logik, Benachrichtigungen

Dieser Artikel ist eine lokalisierte Fassung des japanischen Originals. Japanisches Original lesen

Gravity Forms ist ein kostenpflichtiges Formular-Plugin, das nicht über WordPress.org vertrieben wird. Im Admin-Bereich lassen sich unter anderem die „bedingte Logik“ einrichten, mit der Felder je nach Eingabe ein- oder ausgeblendet werden, die Verteilung von Benachrichtigungen je nach Inhalt der Einsendung sowie das Speichern und der Export von Einsendungen (Einträgen) in der Datenbank. Dieser Artikel erklärt, wie Sie ein einfaches Formular erstellen und wie Sie die Hooks für Entwickler nutzen. Lizenzumfang und Bezeichnungen in der Oberfläche entsprechen dem Stand der offiziellen Website und der Dokumentation (auf Englisch) von Gravity Forms im November 2026. Die Oberfläche ist hier mit englischen Bezeichnungen beschrieben. Bei einer deutschen Oberfläche können die Bezeichnungen abweichen.

Lizenzen und verfügbare Add-ons

Je nach Lizenz unterscheiden sich die Zahl der nutzbaren Websites und die verfügbaren Add-ons.

Lizenz Websites Wichtigste Add-ons
Basic 1 Grundlegende Add-ons wie Mailchimp, HubSpot, reCAPTCHA
Pro 3 Zusätzlich zu Basic unter anderem Stripe, PayPal Checkout, Square, Zapier, Slack
Elite Unbegrenzt Alle Add-ons (Webhooks, User Registration, Signature, Survey usw.). Auch für Multisite geeignet

Das Add-on Webhooks, das Einsendungen an externe Systeme sendet, ist nur mit Elite (und der Lizenz für gemeinnützige Organisationen) nutzbar. Die Zahlungsanbieter Stripe und PayPal Checkout sind ab Pro verfügbar. Prüfen Sie vor dem Kauf auf der offiziellen Preisseite, in welcher Lizenz die benötigten Add-ons enthalten sind.

Installation und Eintragen des Lizenzschlüssels

Laden Sie die ZIP-Datei des Plugins von der Kontoseite der offiziellen Gravity-Forms-Website herunter, installieren Sie sie unter „Plugins → Neu hinzufügen → Plugin hochladen“ (Plugins → Add New → Upload Plugin) und aktivieren Sie sie. Mit WP-CLI geht es so.

wp plugin install /path/to/gravityforms.zip --activate

Den Lizenzschlüssel geben Sie im Bildschirm „Forms → Settings“ ein. Wenn Sie dieselbe Einstellung auf mehrere Umgebungen verteilen, können Sie ihn auch als Konstante in wp-config.php eintragen. Wenn die Konstante gesetzt ist, ist das Feld für den Lizenzschlüssel im Einstellungsbildschirm schreibgeschützt.

define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );

Ein Formular erstellen und einbinden

  1. Öffnen Sie im Admin-Bereich „Forms → New Form“, geben Sie dem Formular einen Namen und legen Sie es an.
  2. Platzieren Sie rechts unter „Add Fields“ Felder wie Name (Name), E-Mail-Adresse (Email), Telefonnummer (Phone), Auswahl (Drop Down), Text (Paragraph Text) und Einwilligungs-Häkchen (Consent).
  3. Wenn Sie ein Feld anklicken, öffnen sich seine Einstellungen. Bei Pflichtfeldern schalten Sie „Required“ ein.
  4. Speichern Sie mit „Save Form“.

Um das Formular auf einer Seite einzubinden, fügen Sie im Block-Editor den Block „Gravity Forms“ hinzu und wählen das erstellte Formular aus. Beim Einbinden per Shortcode verwenden Sie die folgende Form; id ist die in der Formularliste angezeigte ID des Formulars.

[gravityform id="1" title="false"]

Felder mit bedingter Logik ein- und ausblenden

Ein Ein- und Ausblenden wie „Das Upload-Feld für den Lebenslauf nur anzeigen, wenn als Anfrageart ‚Bewerbung‘ gewählt ist“ richten Sie mit der bedingten Logik (Conditional Logic) ein.

  1. Klicken Sie im Formular-Editor auf das Feld, das ein- oder ausgeblendet werden soll (z. B. Datei-Upload für den Lebenslauf).
  2. Öffnen Sie in den Feldeinstellungen „Conditional Logic“ und schalten Sie „Enable Conditional Logic“ ein.
  3. Wählen Sie „Show“ (anzeigen) oder „Hide“ (ausblenden) und bei den Bedingungen „All“ (alle erfüllt) oder „Any“ (eine erfüllt).
  4. Wählen Sie in der Bedingungszeile das Ausgangsfeld (Anfrageart), den Vergleich (is) und den Wert (Bewerbung). Mit dem Plus neben der Zeile fügen Sie weitere Bedingungen hinzu.

Auch für Benachrichtigungs-E-Mails und Bestätigungsmeldungen lässt sich jeweils eine bedingte Logik einstellen.

Benachrichtigungs-E-Mails einrichten

Benachrichtigungs-E-Mails stellen Sie unter „Forms → gewünschtes Formular → Form Settings → Notifications“ ein. Wenn Sie ein Formular erstellen, ist bereits eine Benachrichtigung an den Administrator vorhanden. Mit „Add New“ fügen Sie weitere Benachrichtigungen wie eine automatische Antwort hinzu.

Feld Inhalt
Send To Empfänger. „Enter Email“ ist eine feste Adresse, „Select a Field“ das E-Mail-Adressfeld des Formulars, „Configure Routing“ verteilt den Empfänger je nach Eingabe
From Email Absender. {admin_email} (die Administrator-E-Mail-Adresse unter „Einstellungen → Allgemein“ in WordPress) oder eine feste Adresse
Reply To Antwortadresse. Bei Benachrichtigungen an den Administrator erleichtert ein Merge-Tag des E-Mail-Adressfelds der anfragenden Person die Antwort
Subject / Message Betreff und Text. Mit Merge-Tags lassen sich Eingaben einfügen

Merge-Tags sind Platzhalter, die die gesendeten Werte einsetzen. Der Wert eines Feldes hat die Form {Label:Feld-ID} (Beispiel: {Name:1}; das Label lässt sich auch weglassen, also {:1}), {all_fields} fügt alle Eingaben als Tabelle ein. Wenn Sie die Merge-Tags über die Schaltfläche oben rechts im Nachrichtenfeld auswählen, müssen Sie die Feld-ID nicht nachschlagen.

Wenn die Absenderadresse eine Adresse mit derselben Domain wie die Website ist, wird die E-Mail seltener als Spam behandelt. Verwenden Sie die E-Mail-Adresse der anfragenden Person nicht als Absender, sondern tragen Sie sie bei Reply To ein.

Bestätigungsmeldung nach dem Absenden

Die Anzeige nach dem Absenden stellen Sie unter „Form Settings → Confirmations“ ein. Es gibt drei Arten.

  • Text: Zeigt an der Stelle des Formulars eine Meldung an (Standardeinstellung)
  • Page: Leitet auf eine Seite der Website weiter
  • Redirect: Leitet auf eine angegebene URL weiter

Wenn Sie eine Dankeseite für Werbung oder Webanalyse verwenden möchten, wählen Sie Page oder Redirect.

Eingabeprüfungen mit PHP ergänzen

Eingabeprüfungen, die die Einstellungen im Admin-Bereich nicht abdecken, ergänzen Sie mit dem Filter gform_field_validation. Hängen Sie an den Hook-Namen _Formular-ID_Feld-ID an, gilt er nur für dieses Feld. Das folgende Beispiel prüft die Telefonnummer, die in Feld-ID 3 von Formular-ID 1 eingegeben wurde. Schreiben Sie es in die functions.php des Themes oder in ein eigenes Plugin.

<?php
// Die Telefonnummer in Formular-ID 1, Feld-ID 3 prüfen
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
	if ( ! is_string( $value ) || '' === $value ) {
		return $result; // Der Umgang mit leeren Eingaben bleibt der Einstellung „Required“ des Feldes überlassen
	}

	$digits = str_replace( array( '-', ' ' ), '', $value );

	if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
		$result['is_valid'] = false;
		$result['message']  = 'Bitte geben Sie die Telefonnummer als 10- oder 11-stellige Zahl ein, die mit 0 beginnt (Bindestriche sind erlaubt).';
	}

	return $result;
}, 10, 4 );

Formular-ID und Feld-ID werden angezeigt, wenn Sie im Formular-Editor ein Feld auswählen. Wenn Sie das Formular neu erstellen, ändern sich die IDs. Prüfen Sie daher, ob die IDs in der Produktiv- und der Entwicklungsumgebung übereinstimmen.

Nach dem Absenden extern benachrichtigen

Wenn Sie mit einer Lizenz ohne das Add-on Webhooks bei jeder Einsendung z. B. Slack informieren möchten, können Sie die Verarbeitung mit der Action gform_after_submission programmieren. Diese Action wird ausgeführt, nachdem der Eintrag gespeichert und die Benachrichtigungs-E-Mail gesendet wurde. Sie läuft auch bei Einträgen, die als Spam eingestuft wurden, prüfen Sie also den Status, bevor Sie senden. Mit einer Lizenz ab Pro lässt sich dies auch mit dem Slack-Add-on oder dem Zapier-Add-on einrichten.

<?php
// Nach dem Absenden von Formular-ID 1 über einen Slack Incoming Webhook benachrichtigen
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
	if ( 'spam' === rgar( $entry, 'status' ) ) {
		return;
	}

	// Die Webhook-URL in wp-config.php mit define( 'MY_SLACK_WEBHOOK_URL', '...' ); hinterlegen
	if ( ! defined( 'MY_SLACK_WEBHOOK_URL' ) ) {
		return;
	}

	wp_remote_post( MY_SLACK_WEBHOOK_URL, array(
		'headers' => array( 'Content-Type' => 'application/json' ),
		'body'    => wp_json_encode( array(
			'text' => sprintf( 'Neue Anfrage: %s', rgar( $entry, '1' ) ),
		) ),
		'timeout' => 5,
	) );
}, 10, 2 );

rgar( $entry, '1' ) ist der Wert von Feld-ID 1. Bei Feldern mit mehreren Eingabefeldern wie dem Namensfeld (Name) rufen Sie die Werte mit IDs mit Dezimalpunkt ab, etwa '1.3' (Vorname) und '1.6' (Nachname). Die Webhook-URL ist eine geheime Information. Schreiben Sie sie nicht direkt in den Code und nehmen Sie sie nicht in ein öffentliches Repository auf.

Einträge prüfen und exportieren

Gesendete Daten werden in der WordPress-Datenbank gespeichert und lassen sich unter „Forms → Entries“ auflisten. Zum Export als CSV öffnen Sie „Forms → Import/Export“, wählen bei „Export Entries“ das Formular, legen die zu exportierenden Felder und den Zeitraum fest und laden die Datei herunter.

Zum Abruf per PHP verwenden Sie GFAPI::get_entries(). Ein Beispiel, um mit WP-CLI die neuesten 10 Einträge zu prüfen.

wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'

Hinweise

  • Gesendete Daten enthalten personenbezogene Informationen. Wenn Sie sie nicht speichern müssen, legen Sie fest, wie Sie damit umgehen, etwa eine Aufbewahrungsfrist in den Formulareinstellungen und anschließendes Löschen, und exportierte CSV-Dateien nicht liegen lassen.
  • Kommen Benachrichtigungs-E-Mails nicht an, liegt die Ursache häufig nicht an Gravity Forms, sondern am E-Mail-Versand des Servers. Ein Plugin, das über SMTP versendet, kann Abhilfe schaffen.
  • Bevor Sie PHP-Code hinzufügen, prüfen Sie in einer Staging-Umgebung, ob Formular-ID und Feld-ID stimmen und der Code funktioniert.

Fragen zu WordPress? Der Betreiber dieser Seite sitzt in Japan und antwortet auf Japanisch. Kontakt (Japanisch)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲