Announcement WordPress Plugins

Contact Form 7 2.0

Contact Form 7 2.0 is now available. Like other 2.0 forms, Contact Form 7 2.0 includes exciting changes and enhancements. I hope you will upgrade soon and enjoy its benefits.

Download | Plugin Homepage | FAQ | Support Forum


What has changed?

I believe people who like Contact Form 7 appreciate its simplicity above everything else. I believe every good WordPress plugin should be simple as simplicity is a virtue.

In the past, I have received many feature requests for Contact Form 7, but I have rejected most of them because I worried they would spoil its simplicity. I suppose my stubborn attitude has disappointed some people.

Contact Form 7 2.0 is still simple. It doesn’t introduce any shiny and complicated features. Instead, I have added one more virtue: extensibility.

With the new Contact Form 7, you can add your own functionality with greater ease than before. You can add your own module to it, or you can control it from your plugin.

What is a “module”?

You will find the modules folder in the plugin package. There are many files in it, such as text.php, checkbox.php, quiz.php, etc. These are all modules into which Contact Form 7’s basic features are separated.

A module includes functions which work with Contact Form 7’s core API hooks. The API hooks are very similar to WordPress’s plugin API. Thus a module works just like a “Plugin’s plugin.”

You can also make your own module and place it into the modules folder. You can use the API from another plugin as well.

A New Module: “ICL”

You will find an unfamiliar name in the modules folder, which is icl.php. This is a new feature of 2.0 which demonstrates the effectiveness of the new module API.

In the recent past, I worked with the WPML team, which is developing a WordPress plugin that allows you to make your WordPress site multilingual. ICL (ICanLocalize) is the name of their professional online translation service. They are hardworking people with great ambition.

As a result of our work together, I am now introducing the ICL module. This module allows you to make your contact form multilingual. This means you can show the English form to your English visitors and, at the same time, show the Japanese form to your Japanese visitors.

ICL is simple to use. Just wrap your text which needs translation in a form with [icl] and [/icl]. I suggest adding a name to the opening tag, such as [icl greeting]. This will make it easy to manage the translation later. You should use the same name in another place if you use the same text in the same context.


[icl greeting]Hello! Thank you for visiting my site.[/icl]

After the translation process, when a Japanese visitor browses your contact form, the page reads “こんにちは! 私のサイトを見に来てくれてありがとうございます。”, while still showing “Hello! Thank you for visiting my site” to English visitors.

The same tags can be used in the Message fields. You can show the response messages in the visitor’s language.

[icl success-response]Your message was sent successfully. Thanks.[/icl]

You can also translate the text in your form components. For example, if you want to show the country selection menu in a visitor’s language, insert the icl option into the tag like this:

[select your-country icl:country-names "China" "India" "San Marino"]

Other Important Notes

The required WordPress version with which Contact Form 7 can work changed to 2.7 and higher.

The menu for Contact Form 7 management has been moved to the top level. It was a submenu under the “Tools” menu in the past.

Contact Form 7 creates its own table in your database and saves all data in this table. Your old data in the options table migrates to the new table automatically. If you find it does not work, try re-activating the plugin.

In addition, this release includes Greek translations updated by Pr. Friedlich, traditional Chinese translations updated by James Wu, and Dutch translations updated by Martin Hein.

Thank you, everyone.

(in Japanese from here)

Contact Form 7 2.0 をリリースしました。ほかの 2.0 がそうであるように、Contact Form 7 2.0 は画期的な機能変更や改善を数多く含んでいます。ぜひこの機会にアップグレードして、そのメリットを体験してください。


Contact Form 7 を気に入ってくださる方はそのシンプルさを何よりも評価してくださっていることと思います。どのようなものであれ、良い WordPress プラグインというものはシンプルなものであるはずだと信じています。


それでも、Contact Form 7 2.0 はシンプルであり続けます。キラキラしてややこしいばかりの新機能を導入するつもりはありません。その代わりに、もうひとつ特長を加えます。それは拡張可能性です。

新しい Contact Form 7 はあなたが独自の機能性をそこに加えることを可能にします。独自のモジュールを追加してもいいですし、あなたのプラグインからコントロールすることだって可能です。


プラグインのパッケージを開くと modules というフォルダがあると思います。その中に text.phpcheckbox.phpquiz.php といったファイルがあります。これらがモジュールです。

モジュールは Contact Form 7 のコア API のフックと連携する関数を含んでいます。この API フックは WordPress 自体のプラグイン API とほとんど同じものです。ですからモジュールはあたかも「プラグインのプラグイン」として機能します。

独自の機能を実現するモジュールを作って modules フォルダに置いてもいいですし、他のプラグインから API を利用することも可能です。

新しいモジュール: “ICL”

modules フォルダに見慣れない名前があるのに気付いたでしょうか。icl.php は 2.0 で導入した新機能で、新しいモジュール API の有効性を実証するものです。

ここしばらくの間、私は WPML のチームと協力して開発を行っていました。彼らはサイトを他言語化する WordPress プラグインを開発しています。ICL (ICanLocalize) というのは彼らが提供しているプロ翻訳者によるオンライン翻訳サービスの名前です。彼らは非常に熱心で、また高い目標を持って活動している人々です。

共同開発の最初の成果として、この ICL モジュールを導入する運びになりました。このモジュールにより、コンタクトフォームの他言語化が可能になります。つまり、英語を使うビジターには英語のフォームを、同時に、日本語を使うビジターには日本語のフォームを見せることが可能になるのです。

使い方は簡単です。翻訳が必要なテキストを [icl][/icl] で囲みます。このとき、開始タグに [icl greeting] のように名前を付けることをお勧めします。こうすることで後々、翻訳テキストの管理が簡単になるからです。別の場所であっても、それが同じ文脈で使われる同じテキストであるなら、同じ名前を付けてください。


[icl greeting]Hello! Thank you for visiting my site.[/icl]

これで、翻訳のプロセスが完了すると、日本語のビジターには “こんにちは! 私のサイトを見に来てくれてありがとうございます。” と表示するようになりますが、英語のビジターには引き続き “Hello! Thank you for visiting my site” と表示します。


[icl success-response]Your message was sent successfully. Thanks.[/icl]

また、フォームを構成するタグで使われるテキストにも翻訳を適用できます。例えば、国名を選択するメニューをビジターの言語で表示するには、次のように、タグに icl オプションを挿入します:

[select your-country icl:country-names "China" "India" "San Marino"]


Contact Form 7 2.0 の使用には WordPress 2.7 以上が必要になります。

Contact Form 7 の管理メニューが従来の「ツール」メニューのサブメニューの位置から、トップレベルの「Contact Form 7」に移動しています。

Contact Form 7 独自のテーブルがデータベースに作られ、すべてのデータがそこに保存されるようになります。options テーブルの古いデータは新しいテーブルに自動的に移植されますが、もし移植されていない場合はプラグインの再有効化を試してみてください。

それから、今回のリリースには Pr. Friedlich さんによるギリシャ語翻訳の更新、James Wu さんによる繁体字中国語の翻訳の更新、それに Martin Hein さんによるオランダ語翻訳の更新が含まれています。


67 replies on “Contact Form 7 2.0”

Hi miyoshi …

I’m wondering if SI Captcha can be integrated with your Contact Form 7 plugin. It appears that SI Captcha is more powerful than the Really Simple Captcha, as it has some amazing features I wished there were with Really Simple Captcha.

Please advise soon … Cheers, Jason

Instead of the other Captchas, I was wondering if it is possible to be able to use WP-reCAPTCHA. I am using this on several of my blogs. It is simple to install as other plug-ins are and it completely stops spam. Why use a Captcha which is easy for spam bots to get around.

I have approximately 40 websites. Every site I have with a regular Captcha gets blasted with spam. I have found only two methods of stopping 100% of automated spam submissions: 1) two or three rotating questions and answers which can be changed by the admin such as “2 + 2 = ” and Spell the color “red”; or 2) reCAPTCHA.

I tried Contact Form 7 2.0 and it works great! I believe there is an entry for wpcf7-form missing from stylesheet.css; I added

form.wpcf7-form {
text-align: justify;

and now it looks better.
Thanks for the work!

I installed v2.0 to find that all my formatting (em, strong, br, etc) had gone. It now lists the formatting code in the text of the form itself. You can see an example of the mess at

Is there a way I can fix this? Or could I get a copy of a pre-2.0 version so that I can keep my formatting? My email is chunter AT uuca DOT org. This is urgent because it’s the beginning of the school year for us, and the forms get a ton of traffic for the next month or so.

how to add the icl to a submit button? what is the right format? [submit “[icl]submit[/icl]”] doesn’t work

[…] そこで早速グーグル先生に質問。連絡フォーム用のプラグインとして『Contact Form 7』をしようしているのですが、これだけでは携帯から連絡フォームを利用して連絡してもらうと文字化けが発生してしまう模様で、プラグインのソースで携帯使用時は文字コードを変換して送るようにを改変してあげなければならないとのこと。面倒だなぁ…と思ってたところ、それに対応したモジュールを公開してくださってる方が居ました。そのリンク先はこちら。 […]

[…] メールフォーム、アクセス解析。 Posted in WordPress 2009.09.06 ここのところ、時間を見つけてはこのブログを少しずつカスタマイズしていました。 その中で、これはメモしておこうと思った事柄をふたつ。   写真はたらふくご馳走になった日の記録画像の一部。本文には全く関係ない自慢です。 1. SITE MIXではメールフォームプラグイン「Contact Form 7」が使えない。 このブログは無料サーバーを提供しているSITE MIXと、そこに標準装備されているWordPressを使って構築しています。 概ね満足しているのですが、日本語対応のメールフォームとして定番ともいえる「Contact Form 7」が、インストール後、きちんと反応しない。 Contact Form 7 独自のテーブルがデータベースに作られ、すべてのデータがそこに保存されるようになります。(作者のサイトより) […]

Hi, I don’t understand where I should change the message fields?

In the plugin settings, I don’t see anyway to add the icl tags.

where should this go?

[icl success-response]Your message was sent successfully. Thanks.[/icl]

I´m tring to integrate Contact form with WPML and everything works fine except the url.

In english (default) my form page url is: “/contact” or “/en/contact”.
In spanish my form page url is: “/es/contacto”
Your form action is “/contacto/#wpcf7-f1-p76-o1” and my server can´t understand and goes to home in english.

I’m using qtranslate plugin not wpml. i’m wondering if i can use contact form 7. i’m having problems figuring out how to get the contact form to either modify itself according to the chosen language or pick the correct contact form for the chosen language. my contact form is in a text widget because i only want it to appear in the sidebar.

Leave a Reply

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

You are commenting using your 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