Multi-Step Form
FreeBreak a long form into steps, with progress shown and each step validated before the next one opens.
Free on unlimited sites, GPLv3
Step 1
Steps
One entry
- Version
- 1.0.0
- WordPress
- 6.5+
- PHP
- 8.0+
- Tested up to
- 7.1
- Licence
- GPLv3
What it does
Steps are blocks too
Wrap fields in a step block and reorder steps by dragging. There is no separate builder to learn.
Validated as you go
A step will not advance while it holds an error, so nobody reaches the end and is sent back to a mistake three screens ago.
Steps that skip themselves
With Conditional Logic, a step that has become irrelevant is passed over entirely rather than shown empty.
Getting it working
-
01
Add the steps block
Inside your form, add a steps container and then a step for each screen.
-
02
Distribute your fields
Move fields into the step they belong to. Ask the easy questions first.
-
03
Show progress
Turn on the progress indicator so people can see how much is left.
Every setting
What you can configure, and where it lives. Site settings apply everywhere; the rest are set on the form itself.
| Setting | Scope | Notes |
|---|---|---|
| Steps container | Editor | Holds every step. |
| Step | Editor | One screen of fields. |
| Progress indicator | Per form | Bar or numbered steps. |
| Navigation labels | Per form | Back and next wording. |
Questions
Is each step a separate submission?
No. One entry is created when the last step is submitted. Steps are a way of asking, not a way of storing.
Are partial answers saved if someone leaves?
No. Nothing is stored until the form is submitted, which is the honest behaviour to promise on a page that has not been submitted.
Can I use conditions to skip a step?
Yes, with Conditional Logic. A step whose condition is false is skipped in both directions.
Does the browser back button work?
The form’s own back control moves between steps. The browser’s back button leaves the form, as it does anywhere else.
More in Core tools
Start using Multi-Step Form
Free on unlimited sites, GPLv3