contactform7にはメールアドレスが正しく入力されたか確認するための「もう1度同じメールアドレスを!」「確認用メールアドレス」が無いので、その対処法。
wordpressのバージョン 4.3.9と4.4
contactform7のバージョン 4.3.1
function.phpに以下を記述
//コンタクトフォームに確認用メールアドレスを追加------------------------------------------
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;
}
add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter_extend', 11, 2 );
add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter_extend', 11, 2 );
contactform7の編集画面でコードを追加
<p><label><span class="required">必須</span> メールアドレス <br>[email* your-email] </label></p> <p><label><span class="required">必須</span> 確認用メールアドレス <br>[email* your-email-confirm] </label></p>