いつも便利に使わせていただいております「Contact Form 7」
しかしこちらの作者氏(Mr. Miyoshi)、メールアドレス再入力チェックと、送信確認画面の実装についてだけは、頑ななまでに否定的だった記憶があるのですが、いつのまにか公式サポートでやり方をご案内されていたんですね。親切!(しかも簡単、しかも2015年…)
上記の記事で紹介されている、次のコードを functions.php に追加するだけです。
(functions.php に手を加えたくない場合は、code snippets 等を使います)
add_filter( 'wpcf7_validate_email*', 'custom_email_confirmation_validation_filter', 20, 2 );
function custom_email_confirmation_validation_filter( $result, $tag ) {
if ( 'your-email-confirm' == $tag->name ) {
$your_email = isset( $_POST['your-email'] ) ? trim( $_POST['your-email'] ) : '';
$your_email_confirm = isset( $_POST['your-email-confirm'] ) ? trim( $_POST['your-email-confirm'] ) : '';
if ( $your_email != $your_email_confirm ) {
$result->invalidate( $tag, "Are you sure this is the correct address?" );
}
}
return $result;
}
バリデーション対象となる2つのフィールド名は、お問い合わせフォーム作成画面に設定しているフィールド名と一致させる必要があります。
(上記だと your-email と再入力用が your-email-confirm )
Contact Form 7 の作者さんが仰るように、Eメールの再入力はコピペされたらアウトなので実効性がどれほどあるのか分かりませんが、ウェブサイトの提供側である皆さんにとってはあると安心できる機能のようで、よく要望を受ける機能なのでありがたい情報でした。
コメントを残す