Title: BPOTech Confirm Step for Contact Form 7
Author: BPOTechHue
Published: <strong>9 julho, 2026</strong>
Last modified: 3 setembro, 2026

---

Pesquisar plugins

![](https://ps.w.org/bpotech-confirm-step-for-contact-form-7/assets/banner-772x250.
jpg?rev=3601146)

![](https://ps.w.org/bpotech-confirm-step-for-contact-form-7/assets/icon-256x256.
jpg?rev=3601146)

# BPOTech Confirm Step for Contact Form 7

 Por [BPOTechHue](https://profiles.wordpress.org/wphuebpo/)

[Baixar](https://downloads.wordpress.org/plugin/bpotech-confirm-step-for-contact-form-7.1.1.4.zip)

 * [Detalhes](https://br.wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/#description)
 * [Avaliações](https://br.wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/#reviews)
 *  [Instalação](https://br.wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/#installation)
 * [Desenvolvimento](https://br.wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/#developers)

 [Suporte](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/)

## Descrição

**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](https://wordpress.org/plugins/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)

 1. The visitor completes the **input step** (your normal Form tab template) and clicks
    the **Confirm** button (`[confirm]`).
 2. Contact Form 7 validates the input. The plugin **does not send mail yet**; the 
    response switches to the **confirm step**.
 3. The confirm template (Confirm tab) is shown with values filled in via mail-tags.
 4. The visitor clicks **Submit** (`[submit]`) to send, or **Back** (`[back]`) to return
    to the input step without reloading the page.
 5. 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

 1. **Confirm tab** — Enable confirm step, write the review template with mail-tags,
    add `[submit]` and `[back]`, save.
 2. **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.
 3. **Confirm Settings** (optional) — Scroll target class + offset when entering the
    confirm step; leave class empty to skip scrolling.
 4. **Step status markers** (optional) — Add `cf7cfstep-status-class` or `cf7cfstep-
    status-class-{formid}` on page elements; style with `cf7cfstep-status-input` / `
    cf7cfstep-status-confirm`.

## Capturas de tela

[⌊Confirm tab with enable checkbox, confirm template, and tag buttons.⌉⌊Confirm 
tab with enable checkbox, confirm template, and tag buttons.⌉[

Confirm tab with enable checkbox, confirm template, and tag buttons.

[⌊Confirm Settings metabox (scroll class and offset).⌉⌊Confirm Settings metabox (
scroll class and offset).⌉[

Confirm Settings metabox (scroll class and offset).

[⌊Step status markers help on the Confirm tab.⌉⌊Step status markers help on the 
Confirm tab.⌉[

Step status markers help on the Confirm tab.

## Instalação

 1. Install and activate **Contact Form 7**.
 2. Upload the `bpotech-confirm-step-for-contact-form-7` folder to `/wp-content/plugins/`(
    or install from the WordPress plugin directory when available).
 3. Activate **Confirm Step for Contact Form 7** under **Plugins**.
 4. Edit a contact form, open the **Confirm** tab, enable the confirm step, and configure
    the template and settings.
 5. On the **Form** tab, add a `[confirm]` button (use the **Confirm Button** tag generator).
    Save the form.

## Perguntas frequentes

### Does this work without Contact Form 7?

No. CF7 must be active. Otherwise the plugin will not run (and will deactivate on
load if CF7 was removed).

### Can I use it on only some forms?

Yes. Enable **Enable confirm step** only on the forms that need a review step.

### When is email actually sent?

Only when the visitor submits from the **confirm step** with `[submit]` (step 2).
The first `[confirm]` click only validates and shows the review screen.

### What happens if I disable “Enable confirm step”?

The form submits in one step like normal CF7.

### Do I need to wrap fields manually?

No. The input wrapper is added when the form is rendered. The confirm wrapper is
built from the Confirm tab template automatically.

### Can I have multiple CF7 forms on one page?

Yes. Each form has its own step state. Global status markers (`cf7cfstep-status-
class`) reflect the last confirm-enabled form that changed step; use `cf7cfstep-
status-class-{formid}` to scope styling per form.

### Does uninstalling remove form data?

Uninstall does not delete confirm templates or per-form meta stored on contact forms.
Remove or disable confirm in each form before uninstall if you want a clean editor
state.

## Avaliações

![](https://secure.gravatar.com/avatar/f73fb78807e65e32ff94f869760fea59840f8418a61d9c45ed50e02619d7c7e2?
s=60&d=retro&r=g)

### 󠀁[A Simple and Reliable Confirmation Step for Contact Form 7](https://wordpress.org/support/topic/a-simple-and-reliable-confirmation-step-for-contact-form-7/)󠁿

 [khoa2k10](https://profiles.wordpress.org/khoa2k10/) 13 outubro, 2026

This plugin is very useful and easy to configure. It adds a confirmation step to
Contact Form 7, allowing users to review their input before submitting the form.
The ability to go back and edit information helps prevent mistakes and improves 
the overall user experience. I also appreciate that the settings are managed directly
within each form, keeping everything organized and convenient. A great plugin for
anyone who wants to make their contact forms more user-friendly!

 [ Leia a 1 avaliação ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/)

## Colaboradores e desenvolvedores

“BPOTech Confirm Step for Contact Form 7” é um programa de código aberto. As seguintes
pessoas contribuíram para este plugin.

Colaboradores

 *   [ BPOTechHue ](https://profiles.wordpress.org/wphuebpo/)

[Traduzir o “BPOTech Confirm Step for Contact Form 7” para seu idioma.](https://translate.wordpress.org/projects/wp-plugins/bpotech-confirm-step-for-contact-form-7)

### Interessado no desenvolvimento?

[Navegue pelo código](https://plugins.trac.wordpress.org/browser/bpotech-confirm-step-for-contact-form-7/),
consulte o [repositório SVN](https://plugins.svn.wordpress.org/bpotech-confirm-step-for-contact-form-7/)
ou assine o [registro de desenvolvimento](https://plugins.trac.wordpress.org/log/bpotech-confirm-step-for-contact-form-7/)
por [RSS](https://plugins.trac.wordpress.org/log/bpotech-confirm-step-for-contact-form-7/?limit=100&mode=stop_on_copy&format=rss).

## Registro de alterações

#### 1.1.4

 * Developer hooks: `cf7cs_custom_confirm_tags` filter for registering custom tags(
   tag/label/content) with auto admin buttons.
 * Developer hooks: `cf7cs_before_confirm_step` and `cf7cs_after_confirm_step` filters
   for injecting HTML around the confirm step.
 * Developer hooks: `cf7cs_confirm_template` filter and `cf7cs_confirm_tag_buttons`
   action for advanced customisation.

#### 1.1.3

 * Hot fix.

#### 1.1.1

 * i18n: use plugin text domain consistently in the CF7 editor.
 * Front-end: scope mail error response handling to the submitting form only.
 * Readme: PHP 8.0, WordPress 7.0 tested, tag limit compliance.

#### 1.1.0

 * First release on WordPress.org.
 * Two-step confirm flow for Contact Form 7 (`[confirm]`, review template, `[submit]`/`[
   back]`).
 * Confirm tab settings: per-form enable, step status markers, optional scroll on
   confirm step.

## Meta

 *  Versão **1.1.4**
 *  Última atualização **1 mês atrás**
 *  Instalações ativas **Menos de 10**
 *  Versão do WordPress ** 6.0 ou superior **
 *  Testado até **7.0.7**
 *  Versão do PHP ** 8.0 ou superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/)
 * Tags
 * [cf7](https://br.wordpress.org/plugins/tags/cf7/)[confirm](https://br.wordpress.org/plugins/tags/confirm/)
   [contact form 7](https://br.wordpress.org/plugins/tags/contact-form-7/)[review](https://br.wordpress.org/plugins/tags/review/)
   [two step](https://br.wordpress.org/plugins/tags/two-step/)
 *  [Visualização avançada](https://br.wordpress.org/plugins/bpotech-confirm-step-for-contact-form-7/advanced/)

## Classificações

 5 de 5 estrelas.

 *  [  1 avaliação com 5 estrela     ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/?filter=5)
 *  [  0 avaliação com 4 estrela     ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/?filter=4)
 *  [  0 avaliação com 3 estrela     ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/?filter=3)
 *  [  0 avaliação com 2 estrela     ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/?filter=2)
 *  [  0 avaliação com 1 estrela     ](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/?filter=1)

[Sua avaliação](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/#new-post)

[Ver todas avaliações](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/reviews/)

## Colaboradores

 *   [ BPOTechHue ](https://profiles.wordpress.org/wphuebpo/)

## Suporte

Tem algo a dizer? Precisa de ajuda?

 [Ver fórum de suporte](https://wordpress.org/support/plugin/bpotech-confirm-step-for-contact-form-7/)