Trinity Forms
Trinity Forms is a fast, no-frills WordPress form builder built entirely on Gutenberg blocks. Drag fields onto the canvas, set up conditional logic, collect submissions in your WordPress database, get notified by email, and export everything to CSV — with no usage caps and no phone-home.
Features
- Drag-and-drop form builder (Gutenberg blocks)
- 15 field types — text, email, textarea, select, radio, checkbox, number, date, time, hidden, HTML, page break, section, rating, consent
- Conditional logic with unlimited conditions
- Native entry storage in the WordPress database — no external service
- Admin entries list + per-entry detail view
- CSV export of all entries
- Email notifications with merge tags
- Spam protection — honeypot, time-trap and optional Cloudflare Turnstile
- Per-form and global data retention controls
- Unlimited forms and unlimited submissions
External services
Trinity Forms does not contact any external service by default.
If — and only if — you turn on Cloudflare Turnstile for a form and enter your own Turnstile keys under Trinity Forms Settings, the plugin uses Cloudflare Turnstile to verify that submissions are not from bots:
- The Turnstile widget script (
https://challenges.cloudflare.com/turnstile/v0/api.js) is loaded on pages that display a Turnstile-protected form. - On submission, the entered token, your secret key and the visitor’s IP address
are sent to
https://challenges.cloudflare.com/turnstile/v0/siteverifyto validate the challenge.
This data is sent to Cloudflare only when Turnstile is enabled. Cloudflare’s terms of service: https://www.cloudflare.com/website-terms/ and privacy policy: https://www.cloudflare.com/privacypolicy/.
Development
Trinity Forms is fully open source (GPLv2-or-later) and ships entirely uncompiled alongside its build output, so no external download is needed to read or rebuild it.
- All PHP is human-readable and shipped as-is (there is no PHP build step).
- The Gutenberg block SOURCE is included in this plugin under
blocks/. Every compiled filebuild/<block>/index.jsis generated directly from its readable source blocks//index.js — e.g.build/field-checkbox/index.jscomes from blocks/field-checkbox/index.js, andbuild/form-block/index.jsfrom blocks/form-block/ (index.js,edit.js,save.js). Shared helpers live in blocks/field-shared.js. Nothing inbuild/is authored by hand. -
The build uses @wordpress/scripts (https://www.npmjs.com/package/@wordpress/scripts), with the source and output directories set explicitly in package.json:
npm install npm run build (runs: wp-scripts build –webpack-src-dir=blocks –output-path=build)
Running that regenerates build/ from blocks/. No other build step is required.