【Adobe】期間限定SALE​​ 最大38%OFF!12/2(金)まで今すぐチェック

Contact Form 7でメールアドレスの再入力チェックを実装する

Contact Form 7のメールフォームで、確認用のフィールドに入力した値が一致しなければエラーメッセージを表示する方法について解説します。

目次

functions.phpにチェック処理のコードを追加する

管理画面の左メニューにある「外観」→「テーマエディター」をクリックします。
テーマファイル一覧からfunctions.phpを開いて、以下のコードを追加します。
※「確認用のメールアドレスが一致していません」の文言は任意で変更が可能です。

function wpcf7_text_validation_filter_extend( $result, $tag ) {
  global $email_confirm;
  $tag = new WPCF7_Shortcode( $tag );
  $name = $tag->name;
  $value = isset( $_POST[$name] )
  ? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) )
  : '';
  if ($name == "email"){
    $email_confirm=$value;
  }
  if ($name == "email_confirm" && $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 );

メールアドレス確認項目を設置する

管理画面の左メニューの「お問い合わせ」→「コンタクトフォーム」をクリックします。

Wordpressの「お問合せ」から「コンタクトフォーム」への遷移

実装対象の送信フォームをクリックして、表示された編集画面に以下のコードを追加し、保存します。

[email* mail]
[email* email_confirm]

※確認用のコードのname属性の末尾に_confirmを記述しています。

Wordpressのcontact-form7の編集画面

下記画像のように誤ったメールアドレスを入力した場合に赤文字でアラートが表示されるようになります。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次