備忘録

コピペでOK!Contact Form 7でメールアドレスの確認用入力と一致チェック機能をつける方法【WordPress】

メールアドレス確認用チェック機能をつけたい

 

WordPressのプラグインContact Form 7でメールアドレスの再入力チェック機能をつけるカスタマイズ方法です。

なぜかWordPressのプラグインContact Form 7には

メールアドレスの再入力チェックする項目がデフォルトで用意されていません。

せっかく問い合わせをもらったのに関わらず

肝心のメールアドレスが間違っていたら台無しですよねえ

今回は「Contact Form 7」を使用して
ールアドレスの誤入力を未然に防ぐための機能をご紹介!!

 

①テーマのfunctions.phpに以下を記述。

 

ワードプレス管理画面から編集する場合

外観 → テーマファイルエディター → functions.php 

FTPを使用する場合

wp-content → themes → (使用しているテーマの名称) → functions.php

 

※functions.phpを触るときは必ずバックアップを取っておこうね!

functions.phpに下記のコードを追記。

 command
add_filter( 'wpcf7_validate_email', 'wpcf7_validate_email_filter_extend', 11, 2 );
add_filter( 'wpcf7_validate_email*', 'wpcf7_validate_email_filter_extend', 11, 2 );
function wpcf7_validate_email_filter_extend( $result, $tag ) {
$type = $tag['type'];
$name = $tag['name'];
$_POST[$name] = trim( strtr( (string) $_POST[$name], "n", " " ) );
if ( 'email' == $type || 'email*' == $type ) {
if (preg_match('/(.*)_confirm$/', $name, $matches)){ //確認用メルアド入力フォーム名を ○○○_confirm としています。
$target_name = $matches[1];
if ($_POST[$name] != $_POST[$target_name]) {
if (method_exists($result, 'invalidate')) {
$result->invalidate( $tag,"確認用のメールアドレスが一致していません");
} else {
$result['valid'] = false;
$result['reason'][$name] = '確認用のメールアドレスが一致していません';
}
}
}
}
return $result;
}

②Contact Form 7でお問い合わせフォームを作成して完了!

次に、プラグインのContact Form 7でお問い合わせフォームを作成してメールアドレスのタグを作成しよう!

このお問い合わせフォームでいうと下記の2か所だね!

 command
[email* your-email  placeholder "入力してください。"]
[email* your-email_confirm  placeholder "確認のためもう一度入力してください。"]

 

ポイントはメールアドレス確認用には使用しているタグに_confirmを付与するだけだお!

そこだけ統一していればなんでもOK!!

 

動作確認しても、なぜかうまくいかない時は…

functions.phpに全角文字などが入ってないかエディターで確認。

functions.phpにコードを記載する場所を変更してみる。

 

このどちらかで大体うまくいくと思われます。

以上、ご参考になれば幸いです。

 

 

ブログ村

-備忘録
-, , , ,

© 2024 GINGER.COM Powered by AFFINGER5