There are situations in which you do not want a specific form created with the Contact Form 7 plugin to receive unlimited submissions but to control it in some way, to put a limit of submissions to a form.
Why would you want to limit form submissions?
There are several reasons, actually many, why you might want to limit some form submissions, such as:
- Limit the total number of form submissions allowed – ideal for reservation forms or contests/giveaways.
- Restrict form submissions by deadline – ideal for scholarship forms, event RSVPs, job application forms, etc.
- Restrict form submissions to registered users only – ideal for those with a membership site or online store.
- Limit to one WordPress form submission per person – really useful when creating a feedback form to ensure no duplicate comments are submitted.
- Limit WordPress form submissions by age verification – really useful when you need to comply with local laws.
- Restrict WordPress form submissions by user location or IP address – great for blocking specific regions or preventing spam.
As you can see, there can be many reasons to limit the submission of a specific form, and very interesting in some occasions and for some specific needs.
Why Contact Form 7?
Well, you may already know that it’s my favorite form plugin for many reasons:
- It’s totally free.
- It’s lightweight and easy to use ( shortcode, block, theme integration, etc.).
- It is easily customizable through HTML, CSS and other plugins.
- It is very extensible through other plugins that add functionality.
There are other plugins that offer the functionality of form submission limit but they are paid plugins, which also require an additional extension also paid, and look, if you can do something for free and well, it makes no sense to pay for it, don’t you think?
How to limit form submissions in WordPress
Once we have decided on the plugin for contact forms, it remains to see how to limit the submission of forms, because initially Contact Form 7 has a limitation to do this, and is that by default does not store the forms in the database so how to know if you have exceeded any limit if there is no record?
Well, the solution is to use plugins that complement this lack and add the form submission limit functionality, and I propose 2 possible ones.
CF7 Form Submission Limit
This plugin is specially designed to meet this need, and best of all is that it is totally free and does not require you to install any other plugin in addition to Contact Form 7, as it already meets the 2 basic needs for this need: store forms and offer limit options.
Its operation is very simple. Once you install it like any other WordPress plugin, when editing any Contact Form 7 form you will find a new tab to configure the submission limit.
The limits you can set with this plugin are as follows:
- Set a maximum of total sends, regardless of users.
- Set a maximum total sending limit per user.
- You can set a start date for the sending limit.
- You can set the sending limit to reset to zero automatically every x days/weeks/months/years.
When you are done setting the submission limit you have to add to the form template the label shown at the top of this settings page, which will be of the type
[counter formid:117719]. You can put it anywhere but the most appropriate place in the template would be before the submit button.
If you have any doubt in this video they explain how to add it…
In addition, you can specify what will happen after submitting a form:
- Reload the page
- Redirect to another page
Very complete, easy to use, and works perfectly.
Contact form 7 submission limit + CFDB
For this second option we have to add 2 plugins to our installation, both in Github:
Once downloaded both zip and installed manually in WordPress, you can start creating simple submission limit rules for each form in the administration page “Tools → Contact-Form7 Submission Limit“.
Simply click on the “Add” button below:
- Choose the form to which limits will apply.
- Replace the limit of -1 (no limits) with the number of submissions allowed.
- Write a text (HTML supported) that will replace the form when the set limit is reached.
Now you just have to save the settings and continue adding rules to this or other forms.
The CFDB plugin only serves to store the records, there is nothing to configure.
Which plugin is best for limiting Contact Form 7 form submissions?
Clearly, CF Form Submission Limit, because in addition to not needing more plugins, it allows more options to limit submissions, which will surely be useful on more than one occasion.