Contact Form 7
April 30, 2007
This post is no longer updated. Move to Contact Form 7 official site.
Download | Plugin Homepage | FAQ | Support Forum
Summary
![]()
Just another contact form plugin. Simple but flexible.
- Supports multiple contact forms.
- You can customize form and mail contents with simple markup.
- AJAX submitting with jQuery Form Plugin.
- Spam filtering with Akismet.
- Bot prevention with CAPTCHA.
Download and Install
Download the latest release from WordPress.org plugin directory.
- Upload whole contact-form-7 folder to the /wp-content/plugins/ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
Usage
- Open admin page
[Options] – [Contact Form 7][Manage] – [Contact Form 7].Update: If you are using WordPress 2.7 or greater, you can find the admin page under [Tools] – [Contact Form 7].
- Edit default “Contact form 1″ or add new and save it.
- Copy
[contact-form ...]code and paste it into the content of any posts you need the contact form.
FAQ
How to customize form and mail contents
You can use “tags” in several fields. Contact Form 7′s “tag” is formed string enclosed in square brackets [].
A tag used in form content is replaced by HTML form control element like <input> or <textarea>.
A tag used in mail template is replaced by user input of element with the same name.

In this picture, a tag [textarea your-message ...] inserted in form content is replaced by <textarea> tag with name="your-message" attribute.
When a visitor input into this <textarea> field and submit, Contact Form 7 generates a mail based on mail template. Since message body field has [your-message] tag, this tag replaced by the user input message.
Tags in form content
You can use the following types of tags in form content.
| Type | Replaced by | Validated as |
|---|---|---|
| text | <input type="text" /> |
Any text |
| text* | <input type="text" /> |
Any text / Required |
<input type="text" /> |
Email address | |
| email* | <input type="text" /> |
Email address / Required |
| textarea | <textarea> </textarea> |
Any text |
| textarea* | <textarea> </textarea> |
Any text / Required |
| select | <select> </select> |
– |
<select> </select> |
– | |
| checkbox | <input type="checkbox" /> ... |
– |
<input type="checkbox" /> ... |
– | |
| radio | <input type="radio" /> ... |
– |
| captchac | <img /> |
CAPTCHA See How to use CAPTCHA |
| captchar | <input type="text" /> |
|
| submit | <input type="submit" /> |
– |

The syntax of tag is not so easy. You can use Generate Tag menu under Form textarea to make a tag you need.
I show you some examples of tags.
[text your-name 40/100 "John Smith"]This tag is replaced with:
<input type="text" name="your-name" size="40" maxlength="100" value="John Smith" />[email* your-email 60/ id:email]<input type="text" name="your-email" id="email" size="60" />[textarea your-message 80x15 "Write message here."]<textarea name="your-message" cols="80" rows="15">Write message here.</textarea>
[select your-country "China" "India" "other"]<select name="your-country"> <option value="China">China</option> <option value="India">India</option> <option value="other">other</option> </select>
I wrote about tag syntax.
How to use Akismet on Contact Form 7
1. You need Akismet plugin. If you have not activated it yet, activate it first.
2. Open Contact Form 7’s admin page and edit Form text area as:
- Add
akismet:authoroption to the tag of field which requires sender’s name.
Example:[text* your-name akismet:author] - Add
akismet:author_emailoption to the tag of field which requires sender’s email address.
Example:[email* your-email akismet:author_email] - Add
akismet:author_urloption to the tag of field which requires sender’s URL.
Example:[text your-url akismet:author_url]
Once you have activated the Akismet plugin and at least one of the akismet: options is set, Contact Form 7 will send all of a sender’s input as well as any other information related to input activity to the Akismet server. Akismet will then judge whether this input is likely to be spam.
When Akismet judges a message as spam, Contact Form 7 sends no mail and shows a response message with an orange border line (the third example in the picture below).

To make sure the spam filtering is working, send a message with “viagra-test-123″ as the sender’s name. If the test is a success, the message will be judged as spam.
Changelog
- 0.9 (2007/04/30)
- Initial release.
- 1.0 (2007/05/20)
- Tag helper.
- 1.1 (2007/08/02)
- File restructuring.
- 1.2 (2007/08/16)
- jQuery Form Plugin introduced.
- 1.3 (2007/08/26)
-
New tag type:
[select] - 1.3.1 (2007/08/26)
- Critical bug about JavaScript loading fixed.
- 1.3.2 (2007/09/03)
- Bug fix around jQuery.
- 1.4 (2007/09/07)
- Akismet spam filtering introduced.
- 1.4.1 (2007/09/11)
- Add Spanish and Catalan translations.
- 1.4.2 (2007/09/13)
- Add German translation.
- 1.4.3 (2007/09/15)
- Add Polish translation.
- 1.4.4 (2007/09/17)
- Add French translation.
- 1.5 (2007/10/07)
- CAPTCHA introduced.
- 1.6 (2007/10/17)
- Mail (2) and UI improvement for admin page.
- 1.6.1 (2007/10/27)
- Sidebar widget support.
- 1.7 (2007/11/27)
-
New tag type:
[select+],[checkbox],[checkbox+]and[radio] - 1.7.1 (2007/12/06)
- Made wpcf7 variable global. Polish translation updated.
- 1.7.2 (2007/12/13)
- Bugfix. Czech translation added.
- 1.7.3 (2007/12/23)
- New
default:andlabel-firstoptions added. - 1.7.4 (2007/12/30)
select+andcheckbox+tag types removed.multipleandexclusiveoptions added.- 1.7.5 (2008/01/26)
- Two fixes and
include_blankoption. - 1.7.6 (2008/03/02)
- New
acceptancetag added.


April 3, 2010 at 5:10 am
Great plugin, thanks for realease.
April 9, 2010 at 4:42 pm
I can`t make it work with a custom language… I followed the tutorial but the language does not change..
April 16, 2010 at 5:01 pm
[...] for me and will hopefully work for you too .Assuming you’ve downloaded, installed and activated Contact Form 7, log into your wordpress dashboard and click on Contact in the Left Sidebar.Configuring the form [...]
May 13, 2010 at 6:47 am
Great plugin, thanks.
Miley.
June 2, 2010 at 4:40 am
Great plugin, thanks for realease.
Sarah.
July 8, 2010 at 11:29 pm
Thank you for this. Just donated some dollars. Keep it up.
July 25, 2010 at 9:34 pm
love contact form 7!
July 26, 2010 at 4:45 pm
Absolutely love it. Very simple to understand and lot’s of possibilitys.
July 27, 2010 at 4:55 am
Thanks for the Contact*Form, it is a great plugin. Where can I donate a few Euros for it. Lot of thanks to the progammer.
July 27, 2010 at 5:41 pm
Thanks. For Euros, please use this link.
http://contactform7.com/donate/?currency_code=EUR
August 11, 2010 at 1:04 pm
excelente plugin
September 5, 2010 at 8:13 am
Hi, I set up one form with six fields, but in the email doesn´t come with totaly, only with the name, email, and other field as subject.
I need to receive a complete form. Why dont work good.
I wait for your answer. Thanks.
September 20, 2010 at 5:48 pm
This is very useful plugin, I just noticed that I don’t have a contact form on my site. This is good to test this plugin. Thanks for sharing ^^
September 22, 2010 at 9:33 pm
que tal si quiero definir un value en los select, por ejemplo.
China
India
other
gracias de antemano
October 21, 2010 at 10:33 pm
neat little plug-in, thanks for sharing.
October 28, 2010 at 5:56 pm
Thax for this its great plugging……….
November 4, 2010 at 5:29 am
[...] Page d’auteur de la page Formulaire de contact de 7 | Formulaire de contact 7 sur WordPress.org [...]
December 11, 2010 at 6:38 am
Thanks for this plugin, it has made creating forms for WordPress easy and painless =)
January 19, 2011 at 8:29 pm
I love this plugin.
January 21, 2011 at 6:09 pm
It’s simple and it works. Great stuff!!!
Thank you for this plugin.
January 26, 2011 at 3:00 am
It’s simple and it works.
Thanks. Miley.
January 27, 2011 at 5:24 pm
Wow what a comments, must be a great plugin!
February 7, 2011 at 5:09 am
Great plugin. Very thanks !
Angel.
February 10, 2011 at 1:58 am
[...] 4. Contact Form 7 [...]
February 16, 2011 at 6:16 am
This is the best contact form plugin for WordPress. Well done guys =)
February 16, 2011 at 11:45 pm
Well I have to say that i have been using wordpress again and that this plugin is absolutely one of my favorites now.
February 19, 2011 at 12:49 am
Good job ;)
February 23, 2011 at 10:10 pm
Thanks for the Contact Form. Great plugin.
February 24, 2011 at 4:41 am
will CF7 ever handle the HTML5 input type=”date” ?
March 2, 2011 at 6:57 pm
Useful plugin
March 10, 2011 at 5:27 pm
great plugin and it’s simple to use too.
March 13, 2011 at 9:54 pm
Great plugin. Very thanks
Miley.
March 16, 2011 at 10:47 pm
Ive been using this one on my WP blog and works really great.
March 26, 2011 at 6:08 pm
Great. Thanks for share. Perfect plugin.
Curtis.
May 26, 2011 at 8:49 am
To the dev : I love you ღ◕‿◕。
May 27, 2011 at 3:08 am
nice plugin. i will try this one out. thanks !
May 31, 2011 at 9:20 pm
like “Contact Form 7″ better than “cformsII”!!!
July 9, 2011 at 10:20 pm
Excellent plugin, by far the best form plugin for WordPress. Thanks =)
August 23, 2011 at 12:40 am
[...] have a simple WordPress site with the Contact Form 7 plugin. When submitting a form via the site it can takes in excess of 30 seconds to [...]
September 21, 2011 at 2:46 am
Its a great plugin.
I want to save the all contact in database.
How is it possible.
Please help me
Thanks
September 21, 2011 at 10:52 am
i definitely suggest this plugin.. Thanks for sharing..
September 27, 2011 at 1:41 pm
Nice plugin and very good information
October 19, 2011 at 11:42 pm
I always get the red message. Do I have to change something else?
October 22, 2011 at 1:45 am
I also use this plugin. But wordpress can prevent some spams anyway thanks for sharing.
October 23, 2011 at 12:37 am
Thanks for this article, it explained some not clear thing about the CF7, but I still cannot get the right style on my site.
November 27, 2011 at 3:09 am
Thanks a lot for this plugin, it prooved to be very useful for me.
December 21, 2011 at 12:49 pm
thank you for information it make to my work is very easy step.
January 7, 2012 at 2:08 am
Thank you for this plug-in! I just want to know if there is a way to check the fields according to what they are related.
It works for email but i would like to check for numbers only (like telephone or postal code) thanks again for the plug in!!
February 5, 2012 at 3:41 am
This is the only plugin i use for every WP installation!