WordPress(ワードプレス)を利用してブログやホームページを作成した際、 利用者が運営者に連絡を取るためのメールフォームはプラグインで実現出来ます。 その定番として Contact Form 7 を紹介したのは本ブログ2011年7月8日の記事 WordPressメールフォームプラグイン Contact Form 7 でした。 Contact Form 7 さえインストールすれば特に設定も必要がなく
- お名前 (必須)
- メールアドレス (必須)
- 題名
- メッセージ本文
- 送信ボタン
しかし簡単に欲しかった機能が手に入ってみれば人間欲の出てくるものです。 上の実現できるメールフォーム項目の内、メールアドレスについては 他サイトのメールフォームでもよく目にする 「確認のためにもう一度ご入力ください。」 という確認再入力の機能が欲しくなってくるのも自然かも知れません。 ところがこの機能は Contact Form 7 には2011年7月の現時点では実装されていません。 では諦めるしかないかと思えば然にあらず、 インターネットは異なもの味なもの、 ちゃんとこの機能を実現してくれている方がいました。 機能の紹介サイトが こぶたのラッパ (可愛い名前ですね)さんの2010年12月2日の記事…
Contact Form 7で確認用メールアドレスの入力フォームを加える方法 です。
そこに紹介されているコードを以下に引用させていただきます。
add_filter( 'wpcf7_validate_email',
'wpcf7_text_validation_filter_extend', 11, 2 );
add_filter( 'wpcf7_validate_email*',
'wpcf7_text_validation_filter_extend', 11, 2 );
function wpcf7_text_validation_filter_extend( $result, $tag ) {
$type = $tag['type'];
$name = $tag['name'];
$_POST[$name]
= trim( strtr( (string) $_POST[$name], "\n", " " ) );
if ( 'email' == $type || 'email*' == $type ) {
if (preg_match('/(.*)_confirm$/', $name, $matches)){
$target_name = $matches[1];
if ($_POST[$name] != $_POST[$target_name]) {
$result['valid'] = false;
$result['reason'][$name]
= '確認用のメールアドレスが一致していません';
}
}
}
return $result;
}
?>
[email* your-email] </p>
<p>メールアドレス (確認用)<br />
[email* your-email_confirm] </p>
以上で欲しかった機能は実現できる訳ですが、 入力欄の隣に「確認用」と表示するのは少し無粋かも知れません。 入力欄に直接その旨記されていれば更に使い勝手は向上するでしょう。 その方法を紹介してくれているサイトもありました。 D-31N.COMデザインスタジオ の2011年2月25日の記事 wordpress Contactform7をカスタマイズ がそれです。 記事での指示は こぶたのラッパ さんでの記述に対して以下のように赤字部分を書き足すだけです。
機能が実装できているのが確認するために 実際に異なるメールアドレスを入力して 送信ボタンを押してみた処、呈された情況が以下の図です。 どうやら想定通りの動きをしてくれました。
※ なお、ここで言及、動作確認している WordPress のバージョンは 2011年7月時点で最新版の 3.2 です。
Contact Form 7 郵便番号入力で住所自動出力
WordPress(ワードプレス)でのメールフォームプラグインと言えばContact Form 7で、本ブログでもWordPressメールフォームプラグイン Contact Form 7(2011年7月8日)Contact Form 7でメールアドレスの確認入力を促す(2011年7月12日)Contact Form 7で複数の宛先を設定する