Contact Form 7でメールアドレスをチェックさせようとしたら、そういう機能はないのね、、
いつもどおり、ちゃーんと実装されている方がいらっしゃいました。
[Contact Form 7 4.1] 確認用メールアドレスのエラーチェック(最新版対応)
しかも、最新版に対応されていました。ありがとうございます。
functions.phpに下記を追加。
/*** add confirm mail add on 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]) { if (method_exists($result, 'invalidate')) { $result->invalidate( $tag,"確認用のメールアドレスが一致していません"); } else { $result['valid'] = false; $result['reason'] = array( $name => '確認用のメールアドレスが一致していません' ); } } } } return $result; }
フォームのショートコード部分はこんなかんじで。
<p>メールアドレス<br /> [email* your-email] </p> <p>メールアドレス (確認用)<br /> [email* your-email_confirm] </p>
こういうの、結構使うので助かります!