お問い合わせなどの「フォーム」のメールアドレスの項目でよくみかける「確認用のメールアドレス」の入力欄!
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 ) {
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;
}
そして!コンタクトフォーム7にメールアドレス確認項目を設置する。
[email* your-email_confirm]
※EFO(エントリー・フォーム・オプティマイゼーション)の観点からは「2回」入力させるのは好ましくないかもしれませんね。用途に合わせて使い分けます。
<参照サイト>
http://takayakondo.com/contactform7-mail-confirmation/