WordPress.org

Plugin Directory

Flinkform – DSGVO-Kontaktformular und Formular-Builder für den Block-Editor

Flinkform – DSGVO-Kontaktformular und Formular-Builder für den Block-Editor

Beschreibung

Flinkform ist ein kostenloser Formular-Builder für den WordPress-Block-Editor. Du baust Kontaktformulare, Anfrageformulare und mehrstufige Formulare genau dort, wo du deine Seiten bearbeitest: Jedes Feld ist ein nativer Block, und das Formular übernimmt Farben, Schriften und Abstände von deinem Theme.

Mehrstufige Formulare, bedingte Logik, eine Übersicht der Einsendungen und Spam-Schutz ohne Captcha stecken alle im kostenlosen Plugin. Es gibt kein reCAPTCHA und keinen anderen Drittanbieter, also verlassen keine Besucherdaten deinen Server. Das macht ein DSGVO-konformes Kontaktformular deutlich einfacher.

Erst ausprobieren, dann installieren: Live-Demo mit echten Formularen, darunter ein mehrstufiges Formular mit bedingter Logik, unter https://demo.flinkform.de/

Kontaktformular in zwei Minuten

Füge den Formular-Block ein, wähle eine von fünf Vorlagen (Kontakt, Rückruf, Projektanfrage in drei Schritten, Terminanfrage, Newsletter, jeweils mit DSGVO-Einwilligungsfeld) und veröffentliche. Name, E-Mail und Nachricht sind mit wenigen Klicks da, und das Formular wirkt von Anfang an wie ein Teil deiner Website, ohne zusätzliches CSS.

  • 14 Feldtypen, darunter E-Mail, Telefon, Datum, Auswahlliste, Adresse und eine eigene Checkbox für die Einwilligung
  • Benachrichtigung per E-Mail an dich, dazu auf Wunsch eine Bestätigung an den Besucher
  • Einsendungen werden in WordPress gespeichert, mit Suche, Filtern, Gelesen-Status, Anzahl ungelesener Einsendungen im Menü und Papierkorb
  • Zu jeder Einsendung siehst du, ob die Benachrichtigung rausging, und der Website-Zustand warnt, wenn Benachrichtigungen fehlschlagen
  • Erfolgsmeldung oder Weiterleitung auf deine eigene Danke-Seite

Mehrstufige Formulare und bedingte Logik, kostenlos

Mit dem Seitenumbruch-Block teilst du ein langes Formular in Schritte. Besucher sehen einen Fortschrittsbalken, und jeder Schritt wird geprüft, bevor es weitergeht.

Bedingte Logik blendet Felder ein und aus, überspringt ganze Schritte und kann den Absenden-Button zurückhalten, bis die passenden Antworten gegeben sind. Regeln lassen sich gruppieren, so ist auch „(A oder B) und C“ möglich.

Spam-Schutz ohne Captcha

Kein Rätsel, kein Bilderraster, kein Häkchen zum Anklicken. Flinkform stoppt Spam-Bots mit einem versteckten Honeypot-Feld, einer signierten Zeitprüfung und einer kleinen Proof-of-Work-Aufgabe, die der Browser im Hintergrund löst. Besucher ohne JavaScript bekommen stattdessen eine einfache Rechenaufgabe. Das funktioniert ohne Einrichtung, braucht keinen API-Schlüssel und kontaktiert keinen fremden Dienst.

Von Grund auf DSGVO-freundlich

Keine Speicherung von IP-Adressen oder User-Agents, keine Tracking-Cookies und keine externen Dienste im kostenlosen Plugin. Dazu gehören ein Einwilligungsfeld mit Link zu deiner Datenschutzerklärung, Aufbewahrungsfristen mit automatischer Löschung und die Anbindung an die WordPress-Werkzeuge zum Exportieren und Löschen personenbezogener Daten.

Barrierefrei

Echte Beschriftungen, gruppierte Auswahlfelder, Fehlermeldungen, die Screenreader vorlesen, und ein Fokus, der zum ersten Fehler springt. Das Formular funktioniert ohne JavaScript, und sein Markup besteht die axe-core-Prüfung gegen WCAG 2.1 A/AA ohne einen einzigen Verstoß, auch im Fehlerzustand.

Flinkform Pro

Das optionale Add-on Pro ergänzt Zahlungen über Stripe (Karte, SEPA-Lastschrift, Apple Pay, Google Pay, je nachdem, was du in Stripe aktivierst), Berechnungsfelder, Upload mehrerer Dateien, SMTP-Versand, Webhooks, Newsletter-Anbindungen, CSV-Export und eigenes CSS. Details und Preise: https://flinkform.de/pro

Funktionen (kostenloses Plugin)

Formulare bauen

  • 14 Feldtypen: Text, E-Mail, Textbereich, Zahl, Datum, URL, Telefon, Auswahlliste, Radio, Checkbox, Schalter, Verstecktes Feld, Einwilligung, Adresse
  • Adressfeld mit Straße, PLZ und Ort in einem kompakten Raster, optional mit Adresszusatz und Land
  • Einwilligungsfeld für die Zustimmung zur Datenschutzerklärung
  • Hinweis-Block für hervorgehobene Hinweise zwischen den Feldern (Info, Erfolg, Warnung, Wichtig), der auf Wunsch nur erscheint, wenn eine Bedingung zutrifft
  • Blöcke Abschnittsüberschrift und Seitenumbruch, um längere Formulare zu gliedern
  • Mehrstufige Formulare mit Prüfung pro Schritt und Fortschrittsanzeige (Balken, Punkte oder Zahlen)
  • Bedingte Logik: Felder ein- und ausblenden, Schritte überspringen, den Absenden-Button freigeben, mit verschachtelbaren Regelgruppen
  • Zweispaltiges Layout mit Option für volle Breite pro Feld
  • Radio, Checkbox-Gruppe und Auswahlliste lassen sich ineinander umwandeln, ohne Optionen oder Regeln zu verlieren

Gestaltung

  • Farben, Typografie, Abstände und Eckenradius kommen aus der theme.json deines Themes
  • Stil-Bereich: Primärfarbe, Feldstil (umrandet, weich, unterstrichen, minimal), Position der Beschriftung (oben, daneben, schwebend, als Platzhalter), Button-Stil (gefüllt, Umriss, Ghost) und Farben für Beschriftungen und Hilfetexte

Benachrichtigungen

  • Benachrichtigung per E-Mail bei jeder Einsendung, mit frei wählbarem Empfänger und Platzhaltern
  • Optionale Bestätigungsmail an den Besucher
  • Absendername und Absenderadresse pro Formular sowie eine Antwortadresse für jede E-Mail, ohne SMTP-Plugin
  • Versand über den normalen Mailversand von WordPress (wp_mail)

Spam-Schutz

  • Honeypot und signierte Zeitprüfung, immer aktiv, ohne Einrichtung
  • Proof-of-Work-Aufgabe mit barrierefreier Rechenaufgabe als Ersatz für Besucher ohne JavaScript
  • Kein Captcha, kein externer Dienst, kein API-Schlüssel, keine Tracking-Cookies

Nach dem Absenden

  • Erfolgsmeldung oder Weiterleitung auf eine Danke-Seite deiner Website (geschützt gegen offene Weiterleitungen)
  • Auf Wunsch Einsendungs-ID und Formular-ID als URL-Parameter für Conversion-Tracking (GA4, Meta Pixel, Plausible und andere)

Verwaltung

  • Liste der Einsendungen mit Suche, Filter nach Formular, Sortierung und Mehrfachaktionen
  • Detailansicht mit allen Feldbeschriftungen und Werten
  • Als gelesen oder ungelesen markieren
  • Aufbewahrungsfrist pro Formular mit automatischer täglicher Löschung

Technik

Formulare bestehen aus nativen Blöcken (block.json v3) und laufen über die Interactivity API von WordPress. Keine eigene Builder-Oberfläche, keine Shortcodes, kein jQuery und weniger als 15 KB JavaScript im Frontend (gzip). Voraussetzung sind WordPress 6.5 oder neuer und PHP 8.1 oder neuer.

Datenschutz

Flinkform ist von Anfang an auf Datenschutz ausgelegt. Das macht das kostenlose Plugin, und das macht es nicht:

Was das kostenlose Plugin speichert:

  • Formular-Einsendungen (die Werte, die Besucher eintragen) in einer eigenen Datenbanktabelle ({prefix}flinkform_submissions)

Was das kostenlose Plugin NICHT tut:

  • Es speichert keine IP-Adressen und keine User-Agent-Angaben des Browsers
  • Es setzt keine Tracking-, Statistik- oder Marketing-Cookies. Flinkform setzt genau ein technisch notwendiges Cookie, flinkform_flash (Laufzeit etwa 60 Sekunden, httpOnly), und nur dann, wenn eine Einsendung an der Prüfung scheitert: Es trägt die Fehlermeldung und die Eingaben des Besuchers über das Neuladen der Seite. Erfolgreiche Einsendungen setzen überhaupt kein Cookie
  • Es kontaktiert keinen externen Dienst

Aufbewahrung:

  • Standardmäßig bleiben Einsendungen gespeichert, bis du sie löschst. Für den Grundsatz der Speicherbegrenzung (Art. 5 DSGVO) legst du pro Formular eine Aufbewahrungsfrist fest (Formular-Block Datenspeicherung), und Flinkform löscht ältere Einsendungen jeden Tag automatisch
  • Einzelne Einsendungen lassen sich jederzeit in der Übersicht der Einsendungen im Admin-Bereich löschen

Löschung:

  • Alle Daten des kostenlosen Plugins (die Tabelle der Einsendungen) werden endgültig entfernt, wenn das Plugin über den WordPress-Admin-Bereich deinstalliert wird
  • Flinkform ist an die Datenschutz-Werkzeuge von WordPress angebunden (Werkzeuge > Personenbezogene Daten exportieren / löschen) und unterstützt damit Auskunfts- und Löschanfragen betroffener Personen

Quellcode

Der vollständige, nicht kompilierte Quellcode (einschließlich des Ordners src/ mit dem
nicht minifizierten JavaScript/CSS, aus dem build/ entsteht) ist öffentlich verfügbar unter:
https://github.com/dennisbuchwald/Flinkform

Build-Anleitung (Node.js 18+ und npm erforderlich):

  1. Repository klonen: git clone https://github.com/dennisbuchwald/Flinkform.git
  2. Abhängigkeiten installieren: npm install
  3. Die kompilierten Dateien nach build/ bauen: npm run build

Der Build läuft über @wordpress/scripts (webpack). Die Quellen in src/ sind
nicht im ausgelieferten Plugin-ZIP enthalten, damit es klein bleibt. Dieses Repository ist
die maßgebliche, prüfbare Quelle.

Screenshots

Blöcke

Dieses Plugin bietet 18 Blöcke.

  • Flinkform Form A form container. Add field blocks inside to build your form.
  • Page Break Splits the form into steps. Place between field blocks to start a new step in a multi-step form.
  • Textarea Field A multi-line text input.
  • Consent A required consent checkbox (e.g. a GDPR data-processing agreement) with an optional link to your privacy policy.
  • Dropdown A dropdown — single or multi-select.
  • Toggle / Checkbox A single checkbox — great for terms-of-service style consents.
  • Hidden Field An invisible field that records context with the submission (page URL, user, date, or a static value).
  • Text Field A single-line text input.
  • Address Field A composite address field with street, postal code, city and optional country.
  • Email Field An email input with format validation.
  • Date Field A date picker input.
  • Checkbox Group Multiple choices from a list of options.
  • Phone Field A phone number input.
  • Number Field A numeric input with optional min, max and step.
  • Notice A highlighted note inside the form. Not a field — nothing is submitted. Combine it with conditional logic to surface guidance only when it applies.
  • Section Heading A visual divider with an optional title and description. Not a field — nothing is submitted.
  • URL Field A website URL input with format validation.
  • Radio Group A single choice from a list of options.

Installation

  1. Öffne im WordPress-Admin Plugins > Neues Plugin hinzufügen und suche nach „Flinkform“, oder lade den Ordner flinkform nach /wp-content/plugins/ hoch
  2. Aktiviere das Plugin in WordPress unter Plugins
  3. Öffne eine beliebige Seite oder einen Beitrag im Block-Editor
  4. Füge den Block Flinkform-Formular ein (suche nach „Flinkform“ oder „Formular“)
  5. Füge Felder hinzu, passe die Einstellungen in der Block-Seitenleiste an und veröffentliche

FAQ

Wie erstelle ich ein Kontaktformular?

Öffne eine Seite im Block-Editor und füge den Block Flinkform-Formular ein. Über den Button „Feld hinzufügen“ ergänzt du Felder wie Name, E-Mail und Nachricht, in der Block-Seitenleiste legst du den Empfänger der Benachrichtigung fest, dann veröffentlichst du die Seite. Einsendungen kommen per E-Mail an und liegen zusätzlich in deinem WordPress-Admin unter Flinkform > Einsendungen.

Wie erstelle ich ein mehrstufiges Formular?

Füge zwischen den Feldern einen Block Seitenumbruch ein, um das Formular in Schritte zu teilen, und wähle eine Fortschrittsanzeige (Balken, Punkte oder Zahlen). Jeder Schritt wird geprüft, bevor der Besucher weitermachen kann, und Schritte lassen sich abhängig von früheren Antworten überspringen.

Funktioniert es ohne reCAPTCHA und ohne Captcha?

Ja. Flinkform hat überhaupt keine reCAPTCHA-Anbindung und braucht auch keine. Spam filtern ein Honeypot-Feld, eine signierte Zeitprüfung und eine Proof-of-Work-Aufgabe, die ohne JavaScript auf eine einfache Rechenfrage ausweicht. Es wird kein Drittanbieter kontaktiert, also verlassen keine Besucherdaten deinen Server.

Ist das Formular DSGVO-konform?

Flinkform speichert Einsendungen in deiner eigenen WordPress-Datenbank und kontaktiert im kostenlosen Plugin keinen externen Dienst. Es speichert keine IP-Adressen und keine User-Agent-Angaben, bringt ein Einwilligungsfeld mit, unterstützt Aufbewahrungsfristen mit automatischer Löschung und arbeitet mit den WordPress-Werkzeugen zum Exportieren und Löschen personenbezogener Daten zusammen (Details im Abschnitt Datenschutz weiter unten). Ob deine Website insgesamt konform ist, hängt aber weiterhin von deiner Datenschutzerklärung und deinem Mail-Anbieter ab.

Wie funktioniert die bedingte Logik?

Wähle ein Feld, einen Block oder einen Schritt aus und lege in der Block-Seitenleiste eine Regel an, zum Beispiel „Zeige dieses Feld, wenn die Antwort auf Frage 2 Ja lautet“. Regeln blenden Felder und Hinweise ein und aus, überspringen Schritte und halten den Absenden-Button zurück. Mit Gruppen, die ihr eigenes UND/ODER haben, kombinierst du Regeln wie „(A oder B) und C“.

Sind mehrstufige Formulare und bedingte Logik wirklich kostenlos?

Ja. Mehrstufige Formulare mit Fortschrittsanzeige, Prüfung pro Schritt und bedingtem Überspringen von Schritten gehören zum kostenlosen Plugin, genauso wie die bedingte Logik.

Ist Flinkform kostenlos?

Ja. Flinkform steht unter der GPLv2 und ist komplett kostenlos, inklusive mehrstufiger Formulare und bedingter Logik. Alles, was du für echte Formulare brauchst, steckt im kostenlosen Plugin. Flinkform Pro ist ein eigenes, kostenpflichtiges Add-on.

Kann ich Flinkform ausprobieren, bevor ich es installiere?

Ja. Unter https://demo.flinkform.de/ läuft eine Live-Demo mit mehreren Formularen zum Ausfüllen und Absenden, darunter ein mehrstufiges Formular mit bedingter Logik. Das ist eine echte WordPress-Seite mit diesem Plugin, eine Anmeldung ist nicht nötig.

Wo werden die Formular-Einsendungen gespeichert?

In einer Tabelle in deiner eigenen WordPress-Datenbank. Du findest sie unter Flinkform > Einsendungen, mit Suche, Filter nach Formular und Gelesen-Status. Du kannst sie einzeln löschen oder alte Einsendungen über eine Aufbewahrungsfrist pro Formular automatisch löschen lassen.

Brauche ich einen Page-Builder wie Elementor oder Divi?

Nein. Formulare entstehen im normalen WordPress-Block-Editor aus nativen Blöcken. Kein Page-Builder, keine Shortcodes, keine eigene Builder-Oberfläche.

Kann ich von Contact Form 7 wechseln?

Ja, mit dem eingebauten Import (Flinkform > Aus CF7 importieren). Er macht aus jedem Contact-Form-7-Formular ein Flinkform-Formular, samt Mail-Einstellungen, und stellt die Seiten um, die es genutzt haben. Eine Vorschau zeigt vorher, was übernommen wird, Contact Form 7 selbst bleibt unangetastet, und jeder Import lässt sich rückgängig machen. Formulare aus WPForms oder anderen Buildern baust du von Hand nach, das dauert ein paar Minuten, weil die Felder normale Blöcke sind.

Umzug von Contact Form 7: Was wird nicht übernommen?

CAPTCHA- und Quiz-Felder (Flinkform hat einen eigenen Spam-Schutz), Tags aus CF7-Erweiterungen wie bedingte Feldgruppen und CF7-Einstellungen ohne Entsprechung. Datei-Upload-Felder brauchen Flinkform Pro. Die Vorschau listet jeden dieser Punkte pro Formular auf.

Gibt es Flinkform auf Deutsch?

Ja. Block-Editor, Admin-Bereich und alle Texte, die Besucher sehen, sind ins Deutsche übersetzt. Flinkform wird in Heilbronn entwickelt, Support gibt es auf Deutsch und Englisch.

Funktioniert Flinkform mit meinem Theme?

Ja. Flinkform liest die Design-Tokens deines Themes aus der theme.json und übernimmt Farben, Typografie, Abstände und Eckenradius automatisch. Getestet ist es mit GeneratePress, Twenty Twenty-Five, Astra und Kadence.

Wie funktioniert der Spam-Schutz?

Flinkform arbeitet mit drei Schutzschichten, die keine Einrichtung brauchen:

  1. Honeypot: ein verstecktes Feld, das Bots ausfüllen, Menschen aber nie sehen
  2. Signierte Zeitprüfung: Einsendungen, die schneller kommen, als ein Mensch das Formular ausfüllen kann, werden abgewiesen. Der Zeitstempel ist kryptografisch signiert, Bots können ihn also nicht fälschen
  3. Proof-of-Work-Aufgabe: Der Browser des Besuchers löst im Hintergrund eine kleine Rechenaufgabe. Wer kein JavaScript nutzt, bekommt stattdessen eine einfache Rechenfrage

Es wird kein externer Dienst kontaktiert, es werden keine Tracking-Cookies gesetzt und keine personenbezogenen Daten weitergegeben.

Ist Flinkform barrierefrei?

Barrierefreiheit ist eingebaut: echte label/for-Paare, fieldset/legend für Gruppen, Fehler, die per role=“alert“ angesagt und mit ihrem Feld verknüpft werden, Fokussteuerung und aria-live-Ansagen über alle Schritte hinweg, sichtbare Fokusrahmen, Unterstützung für prefers-reduced-motion und ein Spam-Schutz ohne Captcha. Das ausgelieferte Formular-Markup besteht automatisierte axe-core-Prüfungen gegen WCAG 2.1 A/AA ohne Verstoß, auch im Fehlerzustand. Ein formales Audit mit Screenreader-Protokollen wurde bisher nicht beauftragt. Die Farben, die du im Editor wählst, und die Farbpalette deines Themes beeinflussen den Kontrast und bleiben in deiner Verantwortung.

Meine Benachrichtigungsmails kommen nicht an. Was kann ich tun?

Die Zustellung von E-Mails hängt vom Hoster ab, und viele Hoster versenden wp_mail() unzuverlässig. Wenn Benachrichtigungen nicht ankommen, installiere ein SMTP-Plugin, das den Versand über einen richtigen Mail-Anbieter leitet. Es übernimmt dann auch die Zustellung für Flinkform.

Kann ich nach dem Absenden auf eine Danke-Seite weiterleiten?

Ja. Wähle in der Block-Seitenleiste im Bereich „Nach dem Absenden“ die Option „Zur URL weiterleiten“ und trage deine Danke-Seite ein. Auf Wunsch hängst du Einsendungs-ID und Formular-ID als URL-Parameter für Conversion-Tracking an.

Welche WordPress- und PHP-Version brauche ich?

WordPress 6.5 oder höher und PHP 8.1 oder höher. Flinkform nutzt moderne WordPress-Schnittstellen (Interactivity API, block.json v3, viewScriptModule), die ältere Versionen nicht haben.

Rezensionen

18. August 2026
Very intuitive to use and lots of attention given to accessibility. This is best block-based form plugin currently available.
5. August 2026
Nach mehreren Jahren mit FormCraft war ich auf der Suche nach einer modernen und unkomplizierten Alternative für meine WordPress-Formulare. Durch ein TikTok-Video bin ich auf Flinkform gestoßen und habe das Plugin direkt ausprobiert. Inzwischen bin ich wirklich überzeugt. Die Formulare lassen sich einfach und flexibel erstellen, sehen modern aus und bieten genau die Funktionen, die ich für meine Kontakt- und Anfrageformulare benötige. Besonders wichtig ist mir auch der datenschutzfreundliche und auf die DSGVO ausgerichtete Aufbau. Was mich zusätzlich begeistert, ist der schnelle und persönliche Support von Dennis Buchwald. Fragen, Verbesserungsvorschläge und gemeldete Fehler wurden sehr schnell beantwortet. Ein von mir gemeldetes Problem war bereits am nächsten Tag behoben und die gewünschte Anpassung umgesetzt. So einen direkten Support erlebt man bei WordPress-Plugins nicht besonders oft. Flinkform ist für mich eine starke Alternative zu FormCraft und anderen bekannten Formular-Plugins. Einfach zu bedienen, praktisch, flexibel und nah an den Bedürfnissen der Nutzer entwickelt. Wer ein modernes WordPress-Formular-Plugin für Kontaktformulare, mehrstufige Anfragen oder individuelle Formulare sucht, sollte Flinkform definitiv ausprobieren. Von mir gibt es dafür verdiente fünf Sterne. Excellent WordPress Form Plugin with Fast Support After using FormCraft for several years, I was looking for a modern and straightforward alternative for my WordPress forms. I discovered Flinkform through a TikTok video and decided to give it a try. I am now genuinely impressed. The forms are easy and flexible to create, look modern, and offer exactly the features I need for my contact and enquiry forms. The privacy-friendly and GDPR-compliant setup is also particularly important to me. What impressed me even more is the fast and personal support from Dennis Buchwald. Questions, suggestions for improvement, and reported bugs were answered very quickly. An issue I reported was fixed by the very next day, and the requested adjustment was implemented as well. This level of direct support is quite rare among WordPress plugins. For me, Flinkform is an excellent alternative to FormCraft and other well-known form plugins. It is easy to use, practical, flexible, and clearly developed with users’ needs in mind. Anyone looking for a modern WordPress form plugin for contact forms, multi-step enquiries, or custom forms should definitely give Flinkform a try. A well-deserved five-star rating from me.
18. Juni 2026
Fande die anderen Führenden Plugins viel zu bloated endlich gibt es eine simple Lösung!
Alle 3 Rezensionen lesen

Mitwirkende und Entwickler

„Flinkform – DSGVO-Kontaktformular und Formular-Builder für den Block-Editor“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Flinkform – DSGVO-Kontaktformular und Formular-Builder für den Block-Editor“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Flinkform – DSGVO-Kontaktformular und Formular-Builder für den Block-Editor“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.15.0

  • Neu: Import aus Contact Form 7. Flinkform > Aus CF7 importieren macht aus jedem CF7-Formular ein Flinkform-Formular (Felder, Beschriftungen, Benachrichtigung und Bestätigungsmail, Erfolgsmeldung), speichert es als synchronisiertes Muster und stellt jede Seite um, die es genutzt hat. Vorher eine Vorschau mit Ampel, Rückgängig pro Formular, CF7 selbst wird nie verändert.
  • Neu: fünf Startvorlagen beim Einfügen eines Formulars: Kontakt, Rückrufbitte, Projektanfrage in drei Schritten, Terminanfrage und Newsletter-Anmeldung, jeweils mit Einwilligungsfeld.
  • Neu: Papierkorb für Einsendungen mit Wiederherstellen (wird nach 30 Tagen geleert), Anzahl ungelesener Einsendungen im Admin-Menü und ein Mail-Status pro Einsendung. Eine Prüfung im Website-Zustand warnt, wenn Benachrichtigungsmails fehlschlagen.
  • Neu: „Optionale Felder kennzeichnen“ ergänzt „(optional)“ an jedem Feld, das kein Pflichtfeld ist.
  • Neu: Autofill-Einstellung für Textfelder (Name, Firma, Adressbestandteile …).
  • Neu: In Bedingungen bieten Auswahlfelder ihre Werte als Dropdown an, und Felder mit aktiver Bedingung tragen im Editor ein Badge „Bedingt“.
  • Neu: Mehrstufige Formulare behalten das Eingetippte, wenn die Seite neu geladen wird (nur im Browser-Tab gespeichert, nie das Einwilligungsfeld).
  • Verbesserung: Mails und Einsendungen zeigen die gewählte Beschriftung einer Option statt ihres internen Werts. {field:name} fügt die Beschriftung ein, {field:name:value} den gespeicherten Wert.
  • Verbesserung: Fehlermeldungen unter Feldern erscheinen in der Sprache der Website statt in der des Browsers, und Felder werden beim Verlassen geprüft.
  • Verbesserung: Mehrstufige Formulare springen beim Laden nicht mehr.
  • Verbesserung: Das Fehler-Rot ist die CSS-Variable –flinkform-color-error und wird auf dunklem Hintergrund heller; der Einwilligungstext passt sich der Schriftgröße des Themes an.
  • Verbesserung: Ein schneller zweiter Klick auf der Seite „bitte erneut senden“ wird gehalten, bis das Formular abgeschickt werden darf, statt erneut nachzufragen.
  • Funktionen von Flinkform Pro erscheinen als Pro gekennzeichnet dort, wo sie gebraucht würden. Mit aktivem Pro wird nichts davon angezeigt, und add_filter( ‚flinkform_show_pro_upsell‘, ‚__return_false‘ ) blendet alles aus.

1.14.4

  • Verbesserung: Die Blocknamen im Inserter sind jetzt übersetzt. Auf deutschen Seiten zeigte jeder Flinkform-Block seinen englischen Namen („Text Field“ statt „Textfeld“).
  • Verbesserung: Deutsch gibt es jetzt in beiden Anredeformen. Seiten auf „Deutsch“ bekommen das informelle „du“, passend zum Sprachpaket von WordPress.org, und Seiten auf „Deutsch (formell)“ bekommen die formelle Anrede, statt auf Englisch zurückzufallen.
  • Readme: klarere Beschreibung, FAQ und Bildunterschriften sowie eine Live-Vorschau im Plugin-Verzeichnis.

1.14.3

  • Fehlerbehebung (wichtig): Eine Einsendung, die sehr kurz nach dem ersten Klick ins Formular abgeschickt wurde, ging still verloren, und der Besucher landete auf der Startseite. Seit 1.14.0 startet der Zeitmesser gegen Bots beim ersten Kontakt mit dem Formular. In ein Feld klicken, einen Autofill-Eintrag wählen und innerhalb von zwei Sekunden auf Senden drücken sah deshalb aus wie ein Bot. Der Browser wartet den restlichen Moment jetzt vor dem Senden ab, und kommt eine Einsendung doch zu früh an, bekommt der Besucher sein ausgefülltes Formular mit der Bitte um erneutes Senden zurück.
  • Fehlerbehebung (wichtig): Nach einer erfolgreichen Einsendung zurückgehen, die Nachricht ändern und erneut senden zeigte die Erfolgsmeldung, speicherte die zweite Nachricht aber nicht. Ein erneutes Senden mit anderem Inhalt gilt jetzt immer als neue Einsendung.
  • Fehlerbehebung: Angemeldete Besucher, die ein Formular länger als etwa 20 Minuten offen hatten, konnten beim Absenden die Seite „Sicherheitsprüfung fehlgeschlagen“ bekommen. Die automatische Token-Erneuerung läuft jetzt als angemeldeter Benutzer.
  • Fehlerbehebung: Formulare auf Entwürfen, privaten Seiten und alten Revisionen nehmen keine Einsendungen mehr von Besuchern an, die diese Seiten nicht sehen dürfen. Die Vorschau eines Entwurfs durch den Autor funktioniert weiterhin.
  • Fehlerbehebung: Wurde ein Formular auf eine andere Seite oder in ein Template-Teil verschoben, konnten Einsendungen für einige Minuten noch auf den alten Ort zeigen. Der Formular-Index bemerkt jetzt Entfernungen und baut sich einmal neu auf, wenn ein Formular nicht gefunden wird.
  • Fehlerbehebung: Export und Löschung personenbezogener Daten (Werkzeuge Personenbezogene Daten exportieren/löschen) konnten zu früh aufhören und Einsendungen einer Person übersehen, die mehr als 50 geschickt hatte.
  • Fehlerbehebung: Bedingte Regeln vergleichen Text jetzt im Browser und auf dem Server gleich, auch bei Umlauten und Leerzeichen am Ende durch Autofill.
  • Fehlerbehebung: Antworten auf die Benachrichtigungsmail gehen standardmäßig an die E-Mail-Adresse des Besuchers, auch bei Formularen, die nie im Editor geöffnet wurden.
  • Fehlerbehebung: Die deutsche Übersetzung des Antwort-Hinweises in der Benachrichtigungsmail geht nicht mehr davon aus, dass eine Frau das Formular geschickt hat.
  • Verbesserung: Die Fehlermeldung eines Feldes verschwindet, sobald das Feld korrigiert ist, der doppelte Fehler-Tooltip des Browsers ist weg, und Screenreader verwechseln die Fehlermeldungen zweier Formulare auf derselben Seite nicht mehr.
  • Verbesserung: Auf Smartphones haben Formularfelder mindestens 16px Schriftgröße, damit iOS beim Antippen eines Feldes nicht mehr in die Seite zoomt.
  • Für Entwickler: neuer Filter flinkform_values_before_visibility für Werte, die der Server vor der bedingten Logik selbst berechnet (genutzt vom Berechnungsfeld in Flinkform Pro).

1.14.2

  • Fehlerbehebung (wichtig): In einem bestimmten Fall, der mit 1.14.0 entstand, konnte eine Einsendung weiterhin verloren gehen. Ein ausgefülltes Formular zwanzig Minuten in einem Hintergrund-Tab liegen lassen und zurückkommen: Die automatische Token-Erneuerung erneuerte auch den signierten Zeitstempel, und ein Absenden in den nächsten zwei Sekunden, also genau das, was man bei einem fertigen Formular tut, galt als Bot und wurde still verworfen. Der Zeitstempel wird jetzt einmal geschrieben, wenn der Besucher das Formular erreicht, und danach nie mehr verschoben. Das Token erneuert sich weiter wie bisher.
  • Fehlerbehebung: Die deutsche Übersetzung deckt jetzt die Meldungen aus 1.14.0 ab. Auf deutschen Websites zeigten die Bitte um erneutes Senden und der Weg ohne JavaScript englischen Text. Auch die neue Prüfung im Website-Zustand ist übersetzt.

1.14.1

  • Fehlerbehebung: Name, Autor und Beschreibung im Plugin-Header sind wiederhergestellt. 1.14.0 wurde versehentlich mit gekürztem Namen und geändertem Autor ausgeliefert, und genau das zeigte die Plugin-Übersicht. Keine funktionale Änderung.

1.14.0

  • Performance: Seiten mit einem Formular lassen sich wieder cachen. Bisher sagte jede Seite mit einem Flinkform-Formular den Caching-Plugins, sie nicht zu cachen, weil das Formular ein Spam-Token, eine Sicherheits-Nonce und eine signierte Renderzeit trug, die nur für eine Anfrage gelten. Auf einer für dieses Release gemessenen Website kostete das bei jedem Aufruf einer Formularseite etwa 0,7 Sekunden zusätzliche Serverzeit, und das sind meist die wichtigsten Seiten. Flinkform lädt diese Werte jetzt im Hintergrund, sobald ein Besucher das Formular zum ersten Mal berührt. Die Seite selbst ist damit schlichtes, cachebares HTML.
  • Der Spam-Schutz ist genauso stark wie vorher. Dasselbe Proof-of-Work, dasselbe signierte Einmal-Token, derselbe Honeypot. Die Prüfung der Mindest-Ausfüllzeit wird sogar genauer: Sie zählt jetzt ab dem Moment, in dem der Besucher das Formular erreicht, statt ab dem Rendern der Seite.
  • Ohne JavaScript funktioniert das Formular weiterhin. Diese Besucher bekommen einen Link zu einer nicht gecachten Version derselben Seite, die sich mit der Rechenfrage genau wie bisher verhält.
  • Einsendungen, die ankommen, bevor das Laden im Hintergrund fertig ist, gehen nicht mehr verloren. Alle Eingaben bleiben erhalten, und das Formular bittet um erneutes Senden, statt die Anfrage zu verwerfen.
  • Neu: Werkzeuge > Website-Zustand meldet, ob deine Formularseiten tatsächlich gecacht werden, damit das nicht wieder unbemerkt kaputtgeht.
  • Formulare mit Zahlungsfeld (Pro) behalten das bisherige Verhalten und werden nicht gecacht, weil das Zahlungsfeld eigene, anfragebezogene Daten mitbringt.
  • Für Entwickler: Das alte Verhalten ist einen Filter entfernt: add_filter( 'flinkform_render_challenge_inline', '__return_true' );.

1.13.3

  • Fehlerbehebung: Bei der Beschriftungsposition „Schwebend“ saß die ruhende Beschriftung am unteren Rand des Feldes oder rutschte darunter, statt mittig zu sitzen. Das passierte überall dort, wo der Feld-Container höher war als das Eingabefeld selbst, etwa bei einem Feld mit Hilfetext darunter oder in einer zweispaltigen Zeile neben einem höheren Nachbarn. Die Beschriftung war am ganzen Feld zentriert statt am Eingabefeld. Jetzt ist sie am Eingabefeld verankert, egal was das Feld sonst noch enthält. Der angehobene Zustand, die Aussparung im Rahmen, Textbereiche, Auswahllisten und Datumsfelder bleiben unverändert.

1.13.2

  • Fehlerbehebung: Der Stil-Bereich schnitt seine eigenen Optionsnamen ab. „Umrandet / Weich / Unterstrichen / Minimal“ und „Oben / Daneben / Schwebend / Versteckt“ wurden als Segment-Buttons in eine etwa 250px breite Seitenleiste gequetscht und erschienen als „Umra… / Unte… / Mini…“, die Einstellung ließ sich also nur erraten. Jede Einstellung mit mehr als ein paar Optionen ist jetzt eine Auswahlliste und in jeder Sprache vollständig lesbar. Im Frontend ändert sich nichts: dieselben Werte, dieselben Standards, bestehende Formulare sehen genauso aus wie vorher.
  • Gemeldet von Eric Saner, vielen Dank!

1.13.1

  • Fehlerbehebung: schließt eine winzige Zeitlücke in der Token-Erneuerung aus 1.13.0. Für den Bruchteil einer Sekunde direkt nach der Erneuerung hatte das Formular ein frisches Token ohne Lösung, und ein Absenden genau in diesem Moment konnte noch verworfen werden. Die Erneuerung löst die neue Aufgabe jetzt, bevor sie sie einsetzt. Token und Lösung werden also immer zusammen geschrieben, und die Lücke gibt es nicht mehr.

1.13.0

  • Fehlerbehebung (wichtig): Eine Einsendung konnte spurlos verloren gehen. Das Anti-Spam-Token gilt 30 Minuten. War ein Formular länger offen (ein langes mehrstufiges Formular, ein offen gelassener Tab, ein HTML-Cache mit einer älteren Seite), schickte das Absenden den Besucher ohne Meldung und ohne E-Mail auf die Startseite, und seine Eingaben waren weg. Ein Formular vom eigenen Server ist nie ein Bot, deshalb verwirft ein abgelaufenes oder schon benutztes Token die Einsendung nicht mehr: Das Formular erscheint mit allen Eingaben und der klaren Meldung, dass die Sitzung abgelaufen ist und erneut gesendet werden soll, und der zweite Versuch geht durch. Der Weg ohne JavaScript ist ebenfalls abgedeckt.
  • Neu: Das Token erneuert sich jetzt im Browser, bevor es abläuft, sodass die Situation oben kaum noch entsteht. Ein kleiner, cache-sicherer Endpunkt erzeugt eine frische Aufgabe. Das Formular erneuert etwa zehn Minuten vor Ablauf, wenn ein Tab wieder in den Vordergrund kommt und wenn die Seite aus dem Zurück-Cache des Browsers wiederhergestellt wird. Formulare in einem Popup reparieren ein abgelaufenes Token automatisch und senden einmal erneut, ohne dass der Besucher etwas neu eintippen muss. Die Seite selbst darf jetzt gecacht werden, ohne dass Einsendungen scheitern.
  • Fehlerbehebung: Ein Doppelklick oder erneutes Senden über den Zurück-Button landet nicht mehr auf der Startseite. Die erste Einsendung wird einmal gespeichert, und eine Wiederholung zeigt die Erfolgsseite, statt abgewiesen zu werden.

Frühere Versionen

Die vollständige Versionsgeschichte steht in der Datei changelog.txt, die mit dem Plugin ausgeliefert wird, und unter https://github.com/dennisbuchwald/Flinkform/blob/main/changelog.txt