「Contact Form 7」にメールアドレス確認用の項目を設置する方法
2017.11.06
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です。
*は必須入力の印なので、入力がなければ「入力がありません」とエラーが出ますし、
入力があっても、メールアドレス欄と内容が違えば、エラーになります。