Contact Form7でメールアドレスの確認をする
メールアドレス入力欄と確認用メールアドレス入力欄の整合性チェックを行う。
参考:
http://www.cherrypieweb.com/weblog/technical/20130121002200.php
http://hello.lumiere-couleur.com/smilkobuta/2010/12/02/contact-form-7で確認用メールアドレスの入力フォームを加/
まず、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 ) { $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_confirm]
you-emailはメールアドレス入力欄と同じもの。後ろに「_confirm」がついていれば、特に問題ないようです。