

Confirm tab with enable checkbox, confirm template, and tag buttons.
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.
[confirm]).[submit]) to send, or Back ([back]) to return to the input step without reloading the page.[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.cf7cfstep-status-class or cf7cfstep-status-class-{formid} to any page element; the plugin toggles cf7cfstep-status-input / cf7cfstep-status-confirm for theme CSS (progress text, sidebars, etc.).CF7ConfirmStep\), no Composer dependency.window.cf7csFormSettings[formId] when a scroll class is configured.cf7cs_custom_confirm_tags (filter) — Register custom tags for the confirm template. Each tag appears as a clickable mail-tag in the Confirm tab editor and is replaced by its content on the front end.
Parameters:
$tags (array) — Array of tag definitions. Each item has keys: tag (string, tag name without brackets), content (string, HTML replacement on front end).$contact_form (WPCF7_ContactForm) — The current contact form instance.Example:
add_filter( 'cf7cs_custom_confirm_tags', function ( $tags, $form ) {
$tags[] = array(
'tag' => 'privacy-notice',
'content' => '<p class="privacy">Your data is safe.</p>',
);
return $tags;
}, 10, 2 );
In the Confirm tab, [privacy-notice] appears alongside other mail-tags. Click it to insert into the template.
cf7cs_before_confirm_step (filter) — Add HTML before the confirm step content on the front end.
Parameters:
$html (string) — HTML to prepend (default empty).$contact_form (WPCF7_ContactForm) — The current contact form.Example:
add_filter( 'cf7cs_before_confirm_step', function ( $html, $form ) {
return '<div class="confirm-header">Please review your data</div>';
}, 10, 2 );
cf7cs_after_confirm_step (filter) — Add HTML after the confirm step content on the front end.
Parameters:
$html (string) — HTML to append (default empty).$contact_form (WPCF7_ContactForm) — The current contact form.Example:
add_filter( 'cf7cs_after_confirm_step', function ( $html, $form ) {
return '<p class="confirm-footer">Click Submit to send or Back to edit.</p>';
}, 10, 2 );
cf7cs_confirm_template (filter) — Filter the confirm template HTML after all built-in processing (mail-tag placeholders, control tags, and custom tags have been replaced).
Parameters:
$template (string) — Processed confirm template HTML.$contact_form (WPCF7_ContactForm) — The current contact form.cf7cs_confirm_tag_buttons (action) — Fires after the default and custom tag generator buttons on the Confirm tab. Use this to output fully custom button HTML.
[submit] and [back], save.[confirm] button (tag generator: Confirm Button). Use [submit] only on the confirm step if you want a single send action.cf7cfstep-status-class or cf7cfstep-status-class-{formid} on page elements; style with cf7cfstep-status-input / cf7cfstep-status-confirm.