ContactForm7カスタマイズTwitterFacebookB!HatenaLINELINECopyContactForm7では必須項目の入力、文字数の指定やメールアドレス形式の指定など、簡単な入力確認(バリデーション)の機能がついています。〇文字以内の半角英数でユーザー名を作る、条件によって必須/自由回答を分けるなどの細かい指定はできません。リアルタイムバリデーションをつけるプラグインやjQueryプラグインがありますが、サイトの速度低下を避けるためにも、ContactForm7とWordPressで出来たほうが良いです。このサイトでも紹介するフォームに情報を渡す機能や、ログインユーザーの情報を自動入力する機能など、他の様々な機能を付けたフォームではプラグインが上手く働かないことがあります。ContactForm7のバリデーションに機能を追加する形で作っていきましょう。バリデーションは追加できる!メールアドレスの形式や、確認用の再入力を一致させるバリデーションの基本の方法functions.phpにコードを追加して、ContactForm7のデフォルトのバリデーションにカスタムのバリデーションを追加していきます。サンプルコードは、メールアドレスの形式と確認用の再入力が一致しているかの確認です。こっちでカスタマイズしたバリデーションを行う場合は、ContactForm7でデフォルトでバリデーションしている部分と被らないよう、バリデーションが出ない記述に変えておきます。your-email]に。"";//$nameはContactForm7のフォーム要素(input等)のname="この部分"//$valueはユーザーが入力した(選択した)値//ここから一つ一つのフォーム項目にバリデーションを追加します。'メールアドレスを入力してください';//'メールアドレスを入力してください'エラー時の文言をここにも書いておく。}//ここまでがContactForm7で入力エラーを出すための部分}}//ここまでが一つのフォーム項目に対して適用させるかたまり。'確認用のメールアドレスが一致していません';}//ContactForm7でエラーを出す。文言は場合によって変える。}}//ここまでがかたまり。$result;}//最後にこの部分が来るようにする。適用させたいフォーム項目の名前を指定して、いくつでも追加することが出来ます。{その他のバリデーションを行うときは、どんな条件に当てはまらなかった(当てはまった)場合にバリデーションさせるかを変えるだけです。文字の種類や文字数などを指定する場合は、正規表現で条件を作ります。{条件に当てはまった場合にバリデーションさせるには、!を消します。使うような正規表現はググれば出てくるので、検索して探してきましょう。〇文字以下......etc)よく使う正規表現はもうググりたくない!-Qiitaバリデーションで英数字のみのお問合せを阻止してスパム対策をする方法サイトにお問合せフォームを設置していると、英語のスパムメールが大量に届くことがあります。日本語のものはあまり見られないので、日本語でないとと送信できないようにしてしまえば、スパム対策になると言えますよね。おなまえのところに英数字が使用されている場合は送信できないようにします。先ほどのコードの中にスパム対策のためのバリデーションを追加します。$tag,"日本語で設定してください。半角英数字が含まれていると送信できません。'日本語で設定してください。半角英数字が含まれていると送信できません。';}}}このスパム用バリデーションのみを追加する場合はfunctions.phpにコチラ↓のコードを追加するだけです。$tag,"日本語で設定してください。半角英数字が含まれていると送信できません。'日本語で設定してください。半角英数字が含まれていると送信できません。$result;}英数字を禁止する項目のname属性をここに書いたら完了です。{新しいプラグインを入れたりしなくても、これだけでスパム対策ができました!選択や条件に応じて必須項目/自由回答を切り替えるフォームでバリデーションする方法さやっと。ラジオボタンの切り替えでフォーム項目を切り替えるコードを紹介していますが、それだと切り替えた部分のフォームは必須項目に出来ません。自分で書くバリデーションなら、PHPの条件分岐で出来ることはなんでも条件にできるので、ラジオボタンで選んだ連絡先のみを必須項目にすることもできます。先ほどのコードに、更にif文を被せてradioボタンで選んだ値が当てはまった場合のみに必須項目にするコードを入れます。'LINE名を入力してください';}//バリデーションを実行}}}$_POSTとなっている部分は、フォームのメソッドがGETの場合は$_GETに変更します。"line-name"){//////}で囲まれた部分を追加していきます。これで条件付きの必須項目が出来ました。...https://saya-to.com/wordpress-site/contactform7-customize/ja...バリデーションは追加できる!これで大体どのような条件のフォームでも、PHPのif文を使って条件分岐できればなんでもチェックするように指定できます。さまざまな条件のif文もググればコピペでできるコードが出てくるので、工夫してみましょう。さやお役に立てたらぜひシェアをお願いします。