WordPress plugin profile

BPOTech Confirm Step for Contact Form 7

Adds a confirmation step so visitors can review Contact Form 7 input before the message is sent.

Version1.1.4
Active installsNew
Rating0.0 / 5
Tested toWP 7.0.4

About this plugin

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-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.). 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. Hooks & Filters 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. 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-class or cf7cfstep-status-class-{formid} on page elements; style with cf7cfstep-status-input / cf7cfstep-status-confirm .