Linux 软件免费装
Banner图

Contact Form 7 Multi-Step Forms

开发者 webheadllc
更新时间 2026年2月17日 01:47
PHP版本: 4.7 及以上
WordPress版本: 6.9
版权: GPLv2 or later
版权网址: 版权信息

标签

contact form 7 cf7 multistep form multi page form persist

下载

2.23 3.0.9 4.1.7 4.5 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4 1.4.1 1.4.2 1.4.3 1.5 1.6 2.0 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1 2.2 2.21 2.25 2.26 3.0 3.0.3 3.0.4 3.1 3.1.1 3.1.2 3.2 4.0 4.0.1 4.0.7 4.0.8 4.0.9 4.1.1 4.1.2 4.1.4 1.0 2.22 4.6 4.1 4.1.5 1.01 4.1.6 2.0.1 2.0.2 4.1.8 2.0.3 4.2.1 4.3 1.3.6 3.0.1 3.0.2 4.1.92 4.2 1.1 3.0.7 3.0.8 4.3.1 4.4 4.4.1 1.02 2.24 4.1.9 4.4.2 4.4.3 1.4.4 4.0.2 4.1.91 4.4.4

详情介绍:

Add multi-step forms to Contact Form 7 with full data persistence between pages and a single email on final submission. Upgrade to Pro to submit 5MB forms through sessionStorage, conditional step-skipping, and priority support. The Original Contact Form 7 Multi-Step Plugin Since 2012, this has been the go-to multi-step solution for Contact Form 7 users. It’s built for reliability and trusted on thousands of sites. Split your CF7 form across multiple pages, preserve data between steps, and send one complete email at the end. It's been running quietly on thousands of sites through every major WordPress and CF7 release. If you need multi-step forms with CF7, this is where most people start. See it in action at https://webheadcoder.com/contact-form-7-multi-step-form/ Requires Contact Form 7 (5.2 or above) by Rock Lobster Inc. (Takayuki Miyoshi). Usage
  1. Create one page or post for each step in your multi-step form process. If you have 3 steps, create 3 pages/posts. You will need the urls to these when creating your forms.
  2. Create a Contact Form 7 form.
  3. Place your cursor at the end of the form.
  4. On the "Form" tab of the Contact Form 7 form, click on the button named "multistep".
  5. In the window that pops up, check the checkbox next to "First Step" if this is the first step of your multi step forms. If this is your last step in the multi step forms, check the "Last Step" checkbox. All other checkboxes are optional.
  6. The Next Page URL is the url that contains your next form. If this form is the last step, you can leave the URL field blank.
  7. Click "Insert Tag"
  8. Save your completed form and place the form's shortcode into the appropriate Page/Post you created in step 1.
  9. Repeat for each form in your multi-step form process.
  10. On the last step, you probably would want to send an email. Make sure to check the "Send Email" checkbox in step 5. On the Mail Tab, simply enter the mail-tags as you normally would. For example if your first form has the field your-email you can include [your-email] in the Mail tab on your last form. Note: CF7 will see this as an error because your-email may not be displayed on the current form. You can safely ignore this error.
Multistep Tag Options [multistep multistep-123 last_step send_email skip_save "/thank-you"] Additional Tags [multiform "your-name"] The multiform form-tag can be used to display a field from a previous step. Replace your-name with the name of your field. This is only for use on the Form tab, this tag will not work in the Mail tab. [previous "Go Back"] The previous form-tag can be used to display a button to go to a previous step. Replace Go Back with text you want to show in the button. Messages Tab When a visitor to your site visits the 4th step in your multi step form without filling out the 1st step, the message "Please fill out the form on the previous page." will be displayed. You can change this on each form in the Messages tab. What this plugin DOES NOT do: PRO Version If you expect to have a lot of data submitted through your multi-step forms, the Pro version may be able to help you better. The PRO version uses Session Storage so it is able to handle roughly 1,000 times more data for your multiple forms. In total it can handle about 5MB vs 4KB in the free version. Currently the Pro version REQUIRES the WordPress REST API and Contact Form 7 AJAX Submission to be enabled. Another feature the Pro version offers is the ability to skip steps with the "Contact Form 7 - Conditional Fields plugin". Learn more here.

常见问题:

The Next button doesn't show up

You still need a standard Contact Form 7 submit button on each step. Add a submit tag like this: [submit "Next"] Also note: multistep is a hidden field. If content appears to disappear right after it, place the tag at the end of the form (or add a line break after it).

I keep getting the "Please fill out the form on the previous page" message. What's wrong?

This message usually means step-tracking data is missing. Check these first:

  1. Caching is blocking cookies. Exclude cookies named cf7* from cache behavior.
  2. Form step URLs do not match protocol/domain. Every step must use the same domain and protocol. For example, if your first page uses https like https://webheadcoder.com, your second page cannot use http:// or a subdomain of that.
  3. The first form is missing first_step in its multistep tag, for example: [multistep multistep-123 first_step "/your-next-url/"]

Why are no values being passed from one form to the next form?

If the page reloads on submit instead of using AJAX, Contact Form 7 JavaScript is not running correctly or the REST API is disabled. Use Contact Form 7's troubleshooting guide: https://contactform7.com/why-isnt-my-ajax-contact-form-working-correctly/

How can I show a summary of what the user entered or show fields from previous steps?

[multiform "your-name"]\ Use the multiform tag to display values captured on earlier steps. Replace your-name with your field name.

My form values aren't being sent in the email. I get [multiform "your-name"] instead of the actual person's name.

multiform is for the Form tab only. For email content in the Mail tab, use standard CF7 mail-tags such as [your-name], not [multiform "your-name"]. Also confirm the last step includes the multistep tag.

Can I have an email sent on the first step of the multi-step forms?

Yes. Enable "Send Email" in the tag generator, or add send_email directly in the tag: [multistep multistep-123 first_step send_email "/your-next-url/"]

My forms are not working as expected. What's wrong?

Start with these checks:

  • Confirm every step includes a multistep tag.
  • Look for JavaScript errors from other plugins or themes that may block CF7 scripts.
  • Temporarily deactivate other plugins and test again to isolate conflicts.

Why "place your cursor at the end of the form" before inserting the multistep tag?

multistep is a hidden field and intentionally adds minimal spacing. If another element is placed immediately after it, that element may appear hidden. To avoid this, insert multistep at the end of the form or add a line break after the tag.

How do I get Flamingo or CFDB7 to not save every form?

Use the "Skip Save" option, or add skip_save in your multistep tag: [multistep multistep-123 skip_save "/your-next-url/"]

When checkbox fields are left unchecked they appear as [field-name] in the email. How do I resolve this?

Unchecked checkboxes are not submitted, so the final step may not know that field exists. Add a hidden field with the same name on the last step, for example: [hidden field-name] This ensures the final step submits either the saved value or a blank value.

更新日志:

4.6 4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4 4.3.1 4.3 4.2.1 4.2 4.1.92 4.1.91 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.2 4.1.1 4.1 4.0.9 4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0 In Version 4.0 the format of the multistep form-tag has changed dramatically. The old format is backwards compatible and will still work until January 2021. Beyond that the old format is not guaranteed to work with newer versions. More Info: https://webheadcoder.com/contact-form-7-multi-step-forms-update-4-0/ 3.2 3.1.2 3.1.1 3.1 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.4 3.0.3 3.0.2 3.0.1 3.0 2.26 2.1 2.0.9 2.0.8 2.0.7 2.0.6 2.0.5 2.0.4 2.0.3 2.0.2 2.0.1 2.0 1.6 1.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3 1.1 1.02 1.01 1.0