WordPressのお問い合わせフォームプラグイン『Contact Form 7』のデフォルトでは確認用メールアドレスの項目がありません。
でもこの項目は活用する機会が多いはず…。
実は、function.phpに以下のコードを追加することによって項目を足すことができちゃうのです。 (管理パネル上では表示されないよ!)
以下は[email* your-email]が設置されている場合のコードです。
//============================================== //コンタクトフォーム7に確認用メールアドレスの項目を追加 //============================================== 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", " " ) ) ) : ''; //ひとつ目のメールアドレス項目の名称(ここでは'your-email')を$nameに代入。 if ($name == "your-email"){ $my_email_confirm=$value; } //ふたつ目のメールアドレス項目の名称(ここでは'your-email_confirm')を$nameに代入。 if ($name == "your-email_confirm" && $my_email_confirm != $value){ $result->invalidate( $tag,"確認用のメールアドレスが一致していません"); } return $result; }
そして、管理パネルの編集画面で以下のコードを表示したい場所に入力します。
[email* your-email_confirm]
これで設置完了です。