2026年11月12日
2026年11月12日
Gravity Forms gebruiken: formulier, voorwaardelijke logica, meldingen
Dit artikel is een gelokaliseerde versie van het Japanse origineel. Lees het Japanse origineel
Gravity Forms is een betaalde formulierplugin die niet via WordPress.org wordt verspreid. In het beheer stel je onder meer voorwaardelijke logica in waarmee je velden afhankelijk van een voorwaarde toont of verbergt, het verdelen van meldingen over ontvangers op basis van wat is verzonden, en het opslaan in de database en exporteren van verzonden gegevens (entries). In dit artikel lees je hoe je een eenvoudig formulier maakt en hoe je de hooks voor ontwikkelaars gebruikt. De inhoud van de licenties en de namen op het scherm zijn gecontroleerd op de officiële site en in de (Engelstalige) documentatie van Gravity Forms van november 2026. De schermen worden met Engelse namen beschreven. Gebruik je het beheer in een andere taal, dan kunnen de benamingen afwijken.
Licenties en beschikbare add-ons
Het aantal sites en de add-ons hangen af van de licentie.
| Licentie | Aantal sites | Belangrijkste add-ons |
|---|---|---|
| Basic | 1 | Basisadd-ons zoals Mailchimp, HubSpot en reCAPTCHA |
| Pro | 3 | Naast Basic onder meer Stripe, PayPal Checkout, Square, Zapier en Slack |
| Elite | Onbeperkt | Alle add-ons (Webhooks, User Registration, Signature, Survey enzovoort). Ondersteunt ook multisite |
De Webhooks-add-on, die verzonden gegevens naar externe systemen stuurt, is alleen beschikbaar bij Elite (en bij de licentie voor non-profitorganisaties). Stripe en PayPal Checkout voor betalingen vereisen Pro of hoger. Controleer vóór de aankoop op de officiële prijspagina in welke licentie de add-ons zitten die je nodig hebt.
Installeren en de licentiesleutel registreren
Download het ZIP-bestand van de plugin op de accountpagina van de officiële site van Gravity Forms, installeer het via "Plugins" → "Nieuwe plugin" → "Plugin uploaden" (Plugins → Add New → Upload Plugin) en activeer het. Met WP-CLI doe je het zo.
wp plugin install /path/to/gravityforms.zip --activate
De licentiesleutel voer je in op het scherm "Forms → Settings". Wil je dezelfde instelling over meerdere omgevingen verspreiden, dan kun je hem ook als constante in wp-config.php zetten. Zet je de constante, dan kan het veld voor de licentiesleutel op het instellingenscherm niet meer worden gewijzigd.
define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );
Een formulier maken en plaatsen
- Open in het beheer "Forms → New Form", geef het formulier een naam en maak het aan.
- Plaats via "Add Fields" aan de rechterkant velden zoals naam (Name), e-mailadres (Email), telefoonnummer (Phone), keuzelijst (Drop Down), tekst (Paragraph Text) en toestemmingsvinkje (Consent).
- Klik op een veld om de instellingen te openen. Zet bij velden die verplicht zijn "Required" aan.
- Sla het op met "Save Form".
Om het formulier op een pagina te plaatsen voeg je in de blokeditor het blok "Gravity Forms" toe en kies je het formulier dat je hebt gemaakt. Met een shortcode ziet het er zo uit, waarbij id de ID van het formulier is zoals die in de formulierenlijst staat.
[gravityform id="1" title="false"]
Velden tonen of verbergen met voorwaardelijke logica
Velden tonen of verbergen, zoals "alleen als het soort vraag 'Vacatures' is, toon je het veld om een cv te uploaden", stel je in met voorwaardelijke logica (Conditional Logic).
- Klik in de formulier-editor op het veld dat je wilt tonen of verbergen (bijvoorbeeld het bestandsuploadveld voor het cv).
- Open in de veldinstellingen "Conditional Logic" en zet "Enable Conditional Logic" aan.
- Kies "Show" (tonen) of "Hide" (verbergen) en kies bij de voorwaarden "All" (aan alles voldoen) of "Any" (aan een van beide voldoen).
- Kies in de voorwaarderegel het veld waarop het gebaseerd is (soort vraag), de vergelijking (is) en de waarde (Vacatures). Met de plus naast de regel voeg je een voorwaarde toe.
Ook voor meldingen en bevestigingen kun je voorwaardelijke logica instellen.
Meldingen instellen
Meldingen stel je in via "Forms → het betreffende formulier → Form Settings → Notifications". Zodra je een formulier maakt, is er al één melding voor de beheerder klaargezet. Met "Add New" voeg je meldingen toe, zoals een automatisch antwoord.
| Onderdeel | Inhoud |
|---|---|
| Send To | De ontvanger. "Enter Email" is een vast adres, "Select a Field" is het e-mailveld van het formulier en met "Configure Routing" verdeel je de ontvangers op basis van wat is ingevuld |
| From Email | De afzender. {admin_email} (het e-mailadres van de beheerder onder "Instellingen → Algemeen" in WordPress) of een vast adres |
| Reply To | Het antwoordadres. Zet bij een melding voor de beheerder de samenvoegtag van het e-mailveld van de persoon die contact opneemt erin, dan kun je gemakkelijker antwoorden |
| Subject / Message | Onderwerp en bericht. Met samenvoegtags kun je de ingevulde gegevens invoegen |
Samenvoegtags (merge tags) zijn tekens waarmee je de verzonden waarden invoegt. De waarde van een veld heeft de vorm {label:veld-ID} (bijvoorbeeld {Name:1}; je mag het label weglaten, dus {:1} kan ook), en {all_fields} voegt alle ingevulde gegevens als tabel in. Kies je ze met de knop voor samenvoegtags rechtsboven in het berichtveld, dan hoef je de veld-ID niet op te zoeken.
Als je als afzenderadres een adres met hetzelfde domein als de site gebruikt, wordt de e-mail minder snel als spam behandeld. Gebruik niet het e-mailadres van de persoon die contact opneemt als afzender, maar zet het in Reply To.
Het bevestigingsbericht na verzenden
Wat na het verzenden wordt getoond, stel je in via "Form Settings → Confirmations". Er zijn drie soorten.
- Text: toont een bericht op de plek van het formulier (de standaardinstelling)
- Page: gaat naar een pagina op de site
- Redirect: gaat naar een opgegeven URL
Maak je een bedankpagina om advertenties of toegangsanalyse te meten, kies dan Page of Redirect.
Validatie toevoegen met PHP
Validaties die je met de instellingen in het beheer niet kunt maken, voeg je toe met het filter gform_field_validation. Zet je achter de hooknaam _formulier-ID_veld-ID, dan geldt het alleen voor dat veld. Het volgende voorbeeld valideert het telefoonnummer dat is ingevuld in het veld met ID 3 van het formulier met ID 1. Zet het in de functions.php van het thema of in een eigen plugin.
<?php
// Valideer het telefoonnummer in formulier-ID 1, veld-ID 3
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
if ( ! is_string( $value ) || '' === $value ) {
return $result; // Laat het afhandelen van een leeg veld over aan de instelling "Required" van het veld
}
$digits = str_replace( array( '-', ' ' ), '', $value );
if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
$result['is_valid'] = false;
$result['message'] = 'Voer een telefoonnummer in dat met 0 begint en uit 10 of 11 cijfers bestaat (streepjes zijn toegestaan).';
}
return $result;
}, 10, 4 );
De formulier-ID en de veld-ID zie je als je in de formulier-editor een veld selecteert. Maak je een formulier opnieuw, dan veranderen de ID's, dus controleer of de ID's in productie en in de ontwikkelomgeving gelijk zijn.
Na het verzenden extern een melding sturen
Heb je een licentie zonder de Webhooks-add-on en wil je bij elke verzending bijvoorbeeld Slack op de hoogte stellen, dan kun je dat schrijven met de actie gform_after_submission. Deze actie wordt uitgevoerd nadat de entry is opgeslagen en de meldingen zijn verstuurd. Ze wordt ook uitgevoerd voor entries die als spam zijn aangemerkt, dus controleer de status voordat je iets verstuurt. Bij een licentie vanaf Pro kun je het ook instellen met de Slack-add-on of de Zapier-add-on.
<?php
// Stuur na het verzenden van formulier-ID 1 een melding naar een Incoming Webhook van Slack
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
if ( 'spam' === rgar( $entry, 'status' ) ) {
return;
}
// Zet de URL van de webhook in wp-config.php met define( 'MY_SLACK_WEBHOOK_URL', '...' );
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( 'Nieuw contactbericht: %s', rgar( $entry, '1' ) ),
) ),
'timeout' => 5,
) );
}, 10, 2 );
rgar( $entry, '1' ) is de waarde van het veld met ID 1. Bij een veld met meerdere invoervelden, zoals een naamveld (Name), haal je de waarden op met een ID met decimale punt, zoals '1.3' (voornaam) en '1.6' (achternaam). De URL van de webhook is geheim, dus zet hem niet rechtstreeks in de code en laat hem niet in een openbare repository terechtkomen.
Entries bekijken en exporteren
Verzonden gegevens worden opgeslagen in de database van WordPress en je kunt ze bekijken via "Forms → Entries". Om ze als CSV te exporteren open je "Forms → Import/Export", kies je onder "Export Entries" het formulier, geef je de velden en de periode op en download je het bestand.
Wil je ze met PHP ophalen, gebruik dan GFAPI::get_entries(). Dit is een voorbeeld waarmee je met WP-CLI de laatste 10 bekijkt.
wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'
Aandachtspunten
- Verzonden gegevens bevatten persoonsgegevens. Hoef je ze niet te bewaren, bepaal dan hoe je ermee omgaat, bijvoorbeeld door in de formulierinstellingen een bewaartermijn vast te leggen en ze daarna te verwijderen, en door geëxporteerde CSV-bestanden niet te laten rondslingeren.
- Als meldingen niet aankomen, ligt dat vaak niet aan Gravity Forms maar aan het verzenden van e-mail door de server. Een plugin die via SMTP verstuurt kan dan verbetering geven.
- Controleer vóór het toevoegen van PHP-code in een staging-omgeving of de formulier-ID en de veld-ID kloppen en of het werkt.
Vragen over WordPress? De uitgever van deze site zit in Japan en antwoordt in het Japans. Contact (Japans)