※社内専用

「Contact Form 7」で確認用メールアドレスの項目を設置

  • HOME
  • EPRESS-BS
  • 「Contact Form 7」で確認用メールアドレスの項目を設置
株式会社 建友会ホームドクター 物件で
確認用のメールアドレスのフォームも必要である内容だったので
調べて使用してみました。
動作確認して大丈夫だったので
もし必要な場面があったら使ってみてください。

_setting.phpに以下を記述
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", " " ) ) )
: '';
if ($name == "your-email"){
$my_email_confirm=$value;
}
if ($name == "your-email_confirm" && $my_email_confirm != $value){
$result->invalidate( $tag,"確認用のメールアドレスが一致していません");
}
return $result;
}
管理画面のcontact form7にて
メールアドレスのフォームは
[email* your-email]
確認用のフォームはこれを使用。
[email* your-email_confirm] ちなみにadd_filterとは
元々ある機能に機能を追加したいときに使用するものです。
上記でいうと
wpcf7_validate_emailという機能にwpcf7_text_validation_filter_extendの機能を追加しています。