2014/11/10

WordPressのContact Form 7で確認用メールアドレスを入力する

お問い合わせのメールアドレスの確認って必要なさそうだけど、入力されたメールアドレスが間違っていると、結果、問い合わせに応えられないことが起こり得るというわけで、ニーズはやはり結構あるみたい。リンク先のコードがほぼそのまま使えました。助かった。

WordPressの問合せフォームプラグイン「Contact Form 7」にメールアドレス入力確認機能を追加する | WordPress(ワードプレス)とプラグイン

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 ) {
  $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)){
    $target_name = $matches[1];
      if ($_POST[$name] != $_POST[$target_name]) {
      $result['valid'] = false;
      $result['reason'][$name] = '確認用のメールアドレスが一致していません';
      }
    }
  }
  return $result;
}

で、というわけで、入力フォームの方には、

[email* your-email]
[email* your-email_confirm]

のように入力すれば良いようです。さて、Contact Form 7は以前、フォームの内容を投稿として入れるみたいなことやったことあるんですが、個買いのコード見ると、Validation周りもなんか色々できそうですね。あまり他のニーズが見当たらないのだけど、チェックボックスに指定数以上チェック入れちゃ駄目判定とかできそうですね。例えば。

しかし、息の長いプラグインだよなあ。すごいぞ、Contact Form 7。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram