BPOTech Confirm Step for Contact Form 7
·
Adds a confirmation step so visitors can review Contact Form 7 input before the message is sent.
Confirm Step for Contact Form 7 adds a review step between filling in a form and sending it. Visitors see a confirmation screen with their answers (using the same mail-tags as your emails), can go back to edit, or submit for real.
All options are managed inside each Contact Form 7 form (a Confirm tab in the form editor). There is no separate settings page in WordPress admin.
Requires Contact Form 7 to be installed and active. If CF7 is missing, this plugin deactivates itself and shows an admin notice.
How it works (front end)
- The visitor completes the input step (your normal Form tab template) and clicks the Confirm button (
[confirm]). - Contact Form 7 validates the input. The plugin does not send mail yet; the response switches to the confirm step.
- The confirm template (Confirm tab) is shown with values filled in via mail-tags.
- The visitor clicks Submit (
[submit]) to send, or Back ([back]) to return to the input step without reloading the page. - After a successful send, the form returns to the input step.
Features
- Per-form enable — Checkbox “Enable confirm step” on the Confirm tab; disabled forms behave like plain CF7 forms.
- Confirm tab — Dedicated template textarea, mail-tag helper, and tag generator buttons for Submit and Back.
- Form tags —
[confirm](step 1, Form tab generator),[submit](CF7 core, insert from Confirm tab),[back](step 2, Confirm tab generator). Labels and classes follow CF7 conventions. - Step status markers — Add
cf7cfstep-status-classorcf7cfstep-status-class-{formid}to any page element; the plugin togglescf7cfstep-status-input/cf7cfstep-status-confirmfor theme CSS (progress text, sidebars, etc.). - Confirm Settings — Optional scroll target class and offset (px) when entering the confirm step only (positive offset scrolls further down, negative scrolls further up; leave class empty to disable).
- Editor UX — Confirm tab panel hides when disabled; admin styles and collapsible help/settings boxes on the Confirm tab.
- Legacy-compatible storage — Confirm body and options use the same meta keys as the earlier function-based plugin where applicable.
For developers
- PHP 8.0+, namespaced class architecture (
CF7ConfirmStep\), no Composer dependency. - Front-end script is vanilla JavaScript (no jQuery on the public site).
- Form-specific scroll options are passed via
window.cf7csFormSettings[formId]when a scroll class is configured.
Usage
- Confirm tab — Enable confirm step, write the review template with mail-tags, add
[submit]and[back], save. - Form tab — Add your fields and a
[confirm]button (tag generator: Confirm Button). Use[submit]only on the confirm step if you want a single send action. - Confirm Settings (optional) — Scroll target class + offset when entering the confirm step; leave class empty to skip scrolling.
- Step status markers (optional) — Add
cf7cfstep-status-classorcf7cfstep-status-class-{formid}on page elements; style withcf7cfstep-status-input/cf7cfstep-status-confirm.
