ホームページ制作 東京 神奈川 WEBデザイナー - W-LOG

ホーム > ブログ > 「Contact Form 7」にメールアドレス確認用の項目を設置する方法

「Contact Form 7」にメールアドレス確認用の項目を設置する方法

2017.11.06

「Contact Form 7」にメールアドレス確認用の項目を設置する方法

wordpressを使う人なら誰もが一度は聞いたことがあるであろうプラグイン「Contact Form 7」。
管理画面から簡単に送信フォームが設置できてしまう便利なプラグインです。

基本的には各項目も、設定画面から設置できるように作られていますが、
なぜか、メールアドレス確認(再入力)用の項目については、デフォルトでは書かれていません。

とはいえ、せっかくのお問い合わせ時がメールアドレス入力ミスで、連絡が取れなかったとなると痛すぎますよね。
今回はそんな「Contact Form 7」でのメールアドレス確認欄の設置の仕方をご紹介します。

functions.phpにコードを設置

まずはテーマディレクトリ内にある、functions.phpの最後に、以下のコードを追記します。
これで、メールアドレス確認の機能が追加されます。


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 ) {
global $my_email_confirm;
$tag = new WPCF7_Shortcode( $tag );
$name = $tag->name;
$value = isset( $_POST[$name] )
? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) )
: '';
if ($name == "your-email"){
$my_email_confirm=$value;
}
if ($name == "your-email_confirm" && $my_email_confirm != $value){
$result->invalidate( $tag,"確認用のメールアドレスが一致していません");
}

return $result;
}

Contact Form 7に確認用の項目を設置

続いて、Contact Form 7の「フォーム」編集画面で、以下のとおり、メールアドレス確認用の項目を設置します。


[email* your-email_confirm]

これでOKです。

*は必須入力の印なので、入力がなければ「入力がありません」とエラーが出ますし、
入力があっても、メールアドレス欄と内容が違えば、エラーになります。