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 );
メールアドレス確認項目を設置する
管理画面の左メニューの「お問い合わせ」→「コンタクトフォーム」をクリックします。

実装対象の送信フォームをクリックして、表示された編集画面に以下のコードを追加し、保存します。
[email* mail]
[email* email_confirm]
※確認用のコードのname属性の末尾に_confirmを記述しています。

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