| 开发者 | allterraindeveloper |
|---|---|
| 更新时间 | 2026年9月15日 00:13 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[allterrain_form id="12"]
Conditional logic you can actually see
Show and hide fields, pages, emails and confirmations based on answers. Most
form builders tell you a field has a rule and leave you to go and find out
what it says. This one writes it on the card — Shown when · Can you make it?
· is · Yes — and draws a line from the question that decides to the fields it
decides, labelled with the answer that triggers them.
Hover a field and everything it does not touch fades. A rule pointing at a
question you deleted turns red, because that form is stuck and you would never
otherwise know.
Multi-step forms, calculations and totals
Break long forms into pages with per-step validation and a progress indicator.
Add calculated fields and running totals — an order form that adds up, a quote
form that quotes. Payment-style product and option fields keep their prices.
File upload forms and signatures
Accept file uploads with per-field type and size limits, stored in a protected
directory and attached to the entry. Collect a real drawn signature. Uploads
are parented to their submission, so deleting the entry cleans up after itself.
Surveys, quizzes and NPS
Build survey forms with rating scales, opinion scales, Likert matrices and
0–10 questions. Build quizzes with scoring and per-answer feedback. The
Analytics window turns responses into answers: submissions over time,
conversion and completion rates, per-question distributions, a Net Promoter
Score panel, and any question broken down by any other question.
Entry management, search and CSV export
Every submission is saved as an entry. Search answers, filter by form, status
and star, read one beside the list, add private notes, and export to CSV or
JSON. Unread counts, a spam folder, and bulk actions included.
Email notifications, confirmations and webhooks
Send conditional notification emails with CC, BCC, reply-to and attachments.
Show a message, redirect, or send visitors to a page — conditionally, per
answer. POST every entry as JSON to any URL, signed with HMAC-SHA256, and hook
alltfo_entry_created for anything else.
Grows your MailPoet lists
With MailPoet installed, any form can subscribe visitors to your lists —
bound to an opt-in box they actually tick, with MailPoet's own double opt-in
confirming every address. Map the email and name fields, pick the lists, done.
The kind of integration that is a paid addon elsewhere, free here.
Every email and confirmation has an Insert a value button that lists your
own questions by the label you wrote — not {field:f2} — with a live preview
of the finished text.
Import from Contact Form 7, WPForms and Gravity Forms — entries too
Switching form plugins? You do not have to go looking. Activate AllTerrain
Forms and it tells you what it found — "AllTerrain Forms found 6 forms in
Contact Form 7" — with one button that migrates all of them. Conditional
logic carries across, payment fields keep their prices, an order total keeps
calculating, and a Gravity Forms List becomes a real repeater.
The stored submissions come too. Messages Flamingo kept for Contact Form 7,
Gravity Forms entries, and WPForms Pro entries can all be brought across after
their form is — each with its original date, spam filed as spam, and the
originals left untouched. Running an import twice never imports anything
twice, and everything still works after the old plugin is deactivated, because
the data outlives the plugin.
Ten form themes, and an eleventh you make yourself
Clean, Midnight, Glass, Brutal, Paper, Neon, Terminal, Soft, Editorial and
Holo. A theme here is a flat list of 69 design tokens — no theme PHP, no
template, no stylesheet to edit.
Theme Studio gives you a control for every token and a live preview that
updates the instant you click. Six plain-language dials cover the common case:
Accent, Roundness, Density, Depth, Fields, Labels. Nobody thinks
"radius-field: 14px" — they think rounder. Save your changes as a theme,
pick it on any form, export it as JSON, import it on another site.
Spam protection without a CAPTCHA
A honeypot, a signed time trap, a per-address rate limit, a word blocklist,
and — if you already have it and switch it on for a form — Akismet. Nothing
asks a visitor to identify traffic lights, because a CAPTCHA charges the
visitor for the site's spam problem and fails accessibility for a good number
of people.
Anything judged spam is kept, in a spam folder, never silently thrown away.
Accessible (WCAG AA) and works without JavaScript
Real labels bound to real controls. Grouped inputs in a fieldset with a
legend. Hints and errors wired with aria-describedby. An error summary that
takes focus. Every theme meets WCAG AA contrast, and the test suite fails if
one stops.
And the form works with JavaScript switched off — a real POST, real
server-side validation, errors against the right fields, answers still in the
boxes.
GDPR-friendly by structure
A form is a post. An entry is a post. A note on an entry is a comment. Nothing
lives in a custom table, so WordPress's own privacy exporter and eraser, user
capabilities, search and the trash already work on your form data. A consent
field, IP anonymisation and per-form storage controls are built in — and
nothing is ever sent to us. The only third parties your data can reach are the
ones you configure yourself, listed under External services below.
Ready for AI agents — WordPress Abilities API and MCP
AllTerrain Forms describes itself to AI agents. Nine abilities registered
through WordPress's Abilities API let an agent — over MCP or the REST API —
list your forms, read a form's questions, build a whole form from a
description, apply a theme, submit entries through the same validated
anti-spam pipeline a visitor uses, query submissions with human-readable
answers, and pull the full analytics report (conversion, distributions, NPS)
as structured data.
The nine, by name:
It is, and there isn't one. There is no Pro version and no paid add-on. Conditional logic, multi-step forms, file uploads, entry management, CSV export, webhooks, quizzes, surveys, analytics — everything described on this page is in this plugin.
Activate the plugin, open AllTerrain Forms from the dock, and drag fields from the palette onto the canvas — or start from the contact form template. Paste the shortcode into a page, or use the Form block. The whole thing takes about a minute.
Yes. The builder is an OpenStation desktop app — a real window you can drag things between — and WordPress installs and activates OpenStation for you when you install this plugin. Your visitors never need it: published forms render and submit on the front end without any of the admin machinery.
Yes, and it offers before you ask: if the plugin finds forms from Contact Form 7, WPForms or Gravity Forms it says so and gives you a single button that imports all of them. Forms → Import lists them individually whenever you want it, including forms whose plugin has already been deactivated, because the data outlives the plugin. Each import creates a new AllTerrain form and leaves the original untouched.
Yes. Stored submissions from all three sources — Flamingo's messages for Contact Form 7, Gravity Forms entries, WPForms Pro entries — can be brought across after their form is imported, each keeping its original date, with spam filed as spam and the originals left untouched. Running it twice never imports anything twice.
Your data stays: forms and entries are ordinary posts, so deactivating leaves them in your database untouched. Uninstalling removes them, which is what uninstalling should do — export your entries to CSV first if you want them.
Yes. Export the form as YAML and import it on the other site. The package includes its base theme, only changed design tokens, form settings and image-choice attachments. Validate YAML checks a file first; import creates a new draft. Versioned JSON packages are accepted too. Standalone Theme Studio exports remain JSON.
Yes. Use the Form block in the block editor, or the shortcode anywhere a shortcode works, including page builders and widgets.
Nothing is sent to us, ever. Entries are ordinary WordPress posts, so the privacy exporter and eraser already cover them; a consent field, IP anonymisation and per-form storage controls are built in. The two optional features that can send data elsewhere — Akismet spam checking and webhooks — are off until you configure them, and are documented under External services above with links to Akismet's terms and privacy policy.
That was a design requirement rather than an afterthought — real labels,
fieldsets, aria-describedby, a focus-taking error summary, WCAG AA contrast
in every theme, and a form that works without JavaScript. If you find
something that is not accessible, please open an issue; it will be treated as
a bug.
Yes, and it is documented. 55 filters and 15 actions, a field-type registry that built-in fields use exactly as a third-party plugin would, a theme token API, importer hooks, and a REST namespace. Full reference in the repository.