Contact Form 7 (ver.4.1) で確認用メールアドレスの入力項目を追加する
Contact Form 7で確認用のメールアドレスの入力項目を追加するには、テーマのfunctions.phpに下記のように記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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']; 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'] = array( $name => '確認用のメールアドレスが一致していません' ); } } } return $result; } |
※以前はこぶたのラッパ » Contact Form 7で確認用メールアドレスの入力フォームを加える方法のコードで動作していましたが、Contact Form 7の仕様が変わったため動かなくなっているようです。上記は2014/01/31時点のContact Form 7の最新版(4.1)で動作するコードになります。
Contact Form 7の設定画面では次のようなフォームを記述します。 ※これは参考サイトと同じでOKです。
1 2 3 4 5 |
<p>メールアドレス<br /> [email* your-email] </p> <p>メールアドレス (確認用)<br /> [email* your-email_confirm] </p> |