Contact Form 7 1.5 を公開しました。このバージョンでは CAPTCHA の設置が可能になりました。ロシア語とブラジル・ポルトガル語の言語ファイルが加わりました。また、Akismet の使用方法が紛らわしかったので変更されました。
CAPTCHA を使う前に
- GD と FreeType ライブラリがサーバにインストールされている必要があります。
contact-form-7/captcha/tmpwp-contents/uploads/wpcf7_captcha フォルダを書き込み可能な状態にしてください。(*1)- CAPTCHA は完全なセキュリティを保証するものではありません。
*1 — Contact Form 7 1.8 から使用するフォルダが contact-form-7/captcha/tmp から wp-contents/uploads/wpcf7_captcha に変更されています。
CAPTCHA の使い方
コンタクトフォームに CAPTCHA を設置するには、Contact Form 7 の管理ページにある フォームの内容 の項目にて [captchac] タグと [captchar] タグを使用します。
[captchac] は CAPTCHA-Challenge の略で、CAPTCHA 画像の <img> 要素に置換されます。[captchar] は CAPTCHA-Response の略で、入力項目の <input> 要素に置換されます。
[captchac] は同じ名前を持つ [captchar] と対になっている必要があります。例えば次に示すタグは有効です。
[captchac captcha-1] [captchar captcha-1]
また、ブラウザでは次のようにレンダリングされます。
次に示すのは悪い例です。
[captchac captcha-2] [captchar captcha-3]
これらは異なる名前を持っているので有効ではありません。この場合、ブラウザでは上と同様にレンダリングされますが、CAPTCHA の一致に成功することはありません。
[captchac] と [captchar] で使えるオプション
CAPTCHA の文字色を変更するには、[captchac] にて fg オプションを指定します。fg:# に続けて16進数の RGB カラーコードを加えます。例えば、文字色を赤にしたいなら、fg:#ff0000 と指定します。
同じやり方で、背景色を変更するには bg オプションを指定します。
CAPTCHA の大きさを変更するには、[captchac] にて size オプションを指定します。使えるのは size:s (60×20)、size:m (72×24)、size:l (84×28) の3種類のみです。size オプションが指定されない場合は size:m がデフォルトとして使用されます。
使用例を以下に示します。
[captchac captcha-1 size:s fg:#ffffff bg:#000000]
[captchac captcha-1 size:l fg:#33ff99 bg:#223399]
入力項目の長さを変更するには、[captchar] にて size/maxlength オプションを指定します。
例えば、長さが 40 で上限が 100 の入力項目を作りたい場合は、次のタグを使います。
[captchar captcha-1 40/100]
なお、[text] で使用可能なオプションは、すべて [captchar] でも使用可能です。
ロシア語とブラジル・ポルトガル語の言語ファイルを追加
ロシア語(Dmitry Volotovich さん提供)とブラジル・ポルトガル語(Leonardo Pinheiro さん提供)の言語ファイルが追加されました。どうもありがとうございます。
現在、Contact Form 7 は以下の言語に翻訳されています。
- ブラジル・ポルトガル語
- カタルーニャ語
- フランス語
- ドイツ語
- イタリア語
- 日本語
- ポーランド語
- ロシア語
- スペイン語
もしこれら以外の言語に翻訳された方がいらっしゃいましたらぜひご一報ください。
Akismet の新しい使用方法
Contact Form 7 1.4 のリリース以降、「Contact Form 7 で Akismet のオプションを有効にするとメールが送られなくなった」という報告が多数よせられました。ほとんどのケースでは、Akismet が正しく判定するために必要なオプション(akismet:author、akismet:author_email、akismet:author_url)が加えられていなかったことが問題の原因でした。
多くのユーザを困惑させた事実を考慮し、この使用方法に変更を行いました。
Contact Form 7 1.5 では、次の場合には常に Akismet のサーバに情報が送られるようになります:
- Akismet プラグインが有効化されており、かつ
- Akismet のためのオプション (
akismet:author、akismet:author_email、akismet:author_url) が少なくとも1つは使われている場合
変更の結果、管理ページにあった Akismet を適用する のチェックボックスは不要のため削除されました。
これから使い始めるユーザのために、Contact Form 7 で Akismet を使う方法を以下に示します。
ステップ 1. Akismet プラグインが必要です。もしまだ有効化していないなら、まずはじめにそれを有効化します。
ステップ 2. Contact Form 7 の管理ページを開き、フォームの内容 の項目を以下の要領で編集します:
- 送信者の名前の入力を要求する項目のタグに
akismet:authorオプションを追加する。
例:[text* your-name akismet:author]- 送信者のメールアドレスの入力を要求する項目のタグに
akismet:author_emailオプションを追加する。
例:[email* your-email akismet:author_email]- 送信者の URL の入力を要求する項目のタグに
akismet:author_urlオプションを追加する。
例:[text your-url akismet:author_url]
これで全部です。
送信者の入力内容すべてと、そのほか入力行動に関係した情報が Akismet サーバに送られるようになります。Akismet はそれを見てスパムの疑いがあるか判断します。
こちらも要参照: Contact Form 7 で Akismet を使う方法 (Contact Form 7 1.4 のリリース告知; すでに古くなった Step 1-3 を除き現在も有効)