Categories
WordPress Plugins

Contact Form 7

This post is no longer updated. Move to Contact Form 7 official site.


Download | Plugin Homepage | FAQ | Support Forum

(日本語の説明はこちら)

Summary

screenshot

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.

  1. Upload whole contact-form-7 folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress

Usage

  1. 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].

  2. Edit default “Contact form 1” or add new and save it.
  3. Copy [contact-form ...] code and paste it into the content of any posts you need the contact form.

FAQ

See Contact Form 7 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.

wpcf7-desc

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
email <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> </select>
checkbox <input type="checkbox" /> ...
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:author option to the tag of field which requires sender’s name.
    Example: [text* your-name akismet:author]
  • Add akismet:author_email option to the tag of field which requires sender’s email address.
    Example: [email* your-email akismet:author_email]
  • Add akismet:author_url option 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: and label-first options added.
1.7.4 (2007/12/30)
select+ and checkbox+ tag types removed. multiple and exclusive options added.
1.7.5 (2008/01/26)
Two fixes and include_blank option.
1.7.6 (2008/03/02)
New acceptance tag added.

1,401 replies on “Contact Form 7”

George,

You cannot call or link to this contact form without using a page or post. It is needed to be embedded in the content area of a page or post.

とても簡単・便利なプラグインなので有り難く使わせて戴いております。

javascript・cssがすべてのページのヘッダに自動挿入されていますが、これを実際にフォームを設置したページにのみ挿入するようになってくれるとありがたいです。
自動で挿入するか否かを判断してくれるのがベストですが、たとえば管理画面からページidを指定して、指定されたidのページにのみ挿入するなど…

既存のスクリプトと干渉してしまうので、現在はソースから自動挿入部分をさっくり削除して手動で挿入して使用しています。

ご検討下されば幸いです。

ひゅっくり さん、

コメントどうもありがとうございます。おっしゃるとおりで、いろいろと方法を検討しているんですがまだいい方法が思いつかないんです。シンプルな方法で自動で判断できるやり方があればすぐに取り入れるんですが…。

あと、既存のスクリプトとの干渉というのは、これはこれでまた別の解決が必要と思うので、よかったら詳しく教えてください。

Hello,

I really like your plugin, simple without all the extra stuf I need. But it seems when the form is filled out and sent, it shows a “sent successfully” message. But when I receive the message, it doesn’t show the message, but instead shows the [your-subject] and [your-message] tags in the email, no sender, no message. Did I miss a step? Please help,

Thank you

Nevermind, i fixed it, I changed the name of the text field and forgot to change the tag in the email format. One question though, is there a way to fix the apostraphes in the message? I get backslashes in my received messages when an apostraphe is used in the sent message. Is this a php thing?

rome,

I get backslashes in my received messages when an apostraphe is used in the sent message. Is this a php thing?

Ah, it’s a bug. I’ll fix it in next release. Thanks for telling me!

I got so far as to build my contact form – and then realized it won’t work in a sidebar. Up until then I was really impressed with ease of use.

Any plans for putting it in a sidebar for a future release? Or hacks you can point me towards?

Keep up the good work.

Thanks.

@miyoshi

>>is it possible to put the function-data out of the website into the functions.php ?<<

When i put the Contact form into my page and look at the code there is a lot of code posted into my page. is it possible to put this code anywhere else, maybe into the functions.php ?

an other question, can i put php into the Form ? like IP adress and date like date(‘d.m.Y’)

cheers
denis

Denis,

No, unfortunately, all features you say are not supported. They are too complicated to implement in this simple plugin. But I’m considering to do [ip_addr] tag or such…

Thanks

Denis,

1) It’s must be used in inside of content area of Post/Page. You can’t put it outside of them so far.

2) There are empty <div> element in the bottom, so there are spaces. You should add padding to the “.wpcf7” in CSS.

Thanks

have installed version 7.1.4.4 and it appears activating Akimet in the form options is causing a send message fail.

without Akimet sending is successful

ideas?

Hi,

Looks like a really nice plugin. I’m having problems with configuration. I tried out the sample you have put in for beginners. It worked fine. Tried to put in:

[select noget “windsufing” “surfing”]

The select option appears in my form on my test-site – I select – but in the email I receive there is no indication of my selection.

Any idea?

Thanks!

はじめまして。シンプルでわかり易く素晴らしいプラグインですね。

一つ質問があるのですが、[contact-form ...] のコードをコピーして、コンタクトフォームを表示させたい投稿の本文にそれをペーストする。とありますが、これをテンプレート内に直接記述する事はできますでしょうか。試しているのですが中々うまくいかず、可能であればご教授いただけると助かります。宜しくお願いいたします。

atfactory さん、

「テンプレート内に直接記述する」というのが具体的にどういうことを指しているのかちょっとよくわからなかったのですが…、すみませんが詳しく教えていただけますか?

早々にご返信いただきありがとうございます。説明が足りなくスミマセン。
現在投稿内容に[contact-form 1 "Contact form 1"]を記述して読み込みを行っているのですが、コメントフォームのような扱いでシングルページに常時同じフォームを設置したいと考えております。そこで、毎回投稿内容に記述するのも面倒なのでsingle.php内にこのコードを埋め込んで、読み込ませようと考えたのですがよくわからずコメントさせていただきました。お手数おかけしますが宜しくお願いいたします。

ああ、なるほど。テンプレートってテーマのテンプレートのことだったんですね。今のところそういった使い方はサポートしていません。ただ、ご要望のテーマファイルへの埋め込みや、サイドバーのウィジェットでの使用といったニーズが一定数あるようですので、将来的にはそういったものも考えてみたいとは思っています。他にまだやることが山ほど残っているのでだいぶ先にはなりますが。気長にお待ちください。

ありがとうございます。気長に待ちます(笑)
この度はお忙しい所、ご返答ありがとうございました。

best contact form plugin for wordpress so far! Just wondering if the tons of lines it adds to the source code in the header is necessary and maybe bad for SEO and Performance?

jeffqc,

Didn’t you see a result message after you submited? If you saw “succeeded” message, mail was sent correctly, check your spam filter. If you saw “failed” one, it failed, something was wrong.

i get this message:
Your message was sent successfully. Thanks.

i dont have any spam filtrer and have try with several mail!

jeffqc,

It means that mail sending function has successfully completed. If you don’t receive a mail, mail servers or something were not working properly. Do you receive other mails form WordPress, such as comment notification?

Hello. Great plugin! Thank you for all your work!
I’m wondering if there is a way to filter out the several lines of code that the Contact Form plugin places into the HEAD section of the page for pages that are NOT using the contact form.

Other plugins allow filter of the code with something like
placed within conditional tags.

Is anything similar possible with this plugin so all the Contact Form 7 related “head” tags do not show up on every other page in the site?

I’m using this contact from in my blog, and now I’m free from spams.

thanks for this wonderful plugin. :)

Is there a way to prevent the WP-Contact form javascript file from being included in all the pages??

I installed your plugin but it hang ups when I try to send an email and it doesn’t send anything. I use wp 2.3, Unix server.
what should I do?
Vadim

Livingston Samuel,

Thanks for comment.

Is there a way to prevent the WP-Contact form javascript file from being included in all the pages??

No, no such a way is supported.

Vadim,

I installed your plugin but it hang ups when I try to send an email and it doesn’t send anything. I use wp 2.3, Unix server.
what should I do?

The most posiible cause is a conflict with other plugins. You should deactivate all plugins and try them one by one.

初めまして。設定が分かりやすく素晴らしいプラグインだと思います。
ただ、フォームを設置したページにSafariでアクセスして
送信ぼたんをクリックすると、

“あなたのメッセージは送信されました。ありがとうございました。”

と表示されるはずののメッセージが

入力内容に不備があります。確認してもう一度送信してください。

といった具合に文字化けしてしまいます。
その他のScriptで表示される部分も同様です。
Nippon 2プラグインも試したのですが効果は見られませんでした。
FirefoxやwinのIEだと文字化けしないようなのですが
対応策があれば教えてください。

初めまして。
本日インストールさせて頂いたのですが、実際にページを生成してみて、項目を入力して送信ボタンを押したところ、メールは送信されているのですが、画面上はページ遷移等はせず、送信ボタンの横で画像がぐるぐる回ったままの状態なのです。

完了画面や確認画面は無いような仕様なのでしょうか?

又、送信ボタンを押すとボタンの下のマージンがガクンと減るようなのですが、こちらも仕様なのでしょうか?

機能としてすごくすばらしいのでぜひ使わせて頂きたく、コメントさせて頂きました。

よろしくお願い致します。

Hello Miyoshi san and thank you very much for your hardwork.
I’ve installed this plugin in my site few days ago but when I send myself a test message, I receive nothing at all even though I do get a “your message has been successfully sent” message.
I’ve read the comments here and your instructions on how to install but didn’t find anything to help me through this problem.

May you help, please ?

Lillymon~

taro さん、

ご報告ありがとうございます。あいにく僕の手元に Mac がないのでテストができないんですが、思い当たる所があったので修正を行いました。今日リリースした 1.6.1 を試してみてください。もし直っていたらまたご連絡いただけると助かります。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s