【Contact Form 7】ひらがな・カタカナのバリデーションを追加する方法【スパム対策】
ken-admin-suto
けんすと
今回ご紹介するのは、テキストエリアにひらがな(平仮名)とカタカナのバリデーションを追加する方法です。
上記の記事は「ふりがな(フリガナ)」部分のバリデーションを載せているので、併せて読んでいただければ嬉しいです。
さて、今回の記事は、
などを考えている方におすすめです。
是非、参考にしてみてください。
funtions.phpに下記のコードを追加してください。
1<?php
2function wpcf7_validation_textarea_hiragana($result, $tag)
3{
4 $name = $tag['name'];
5 $value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';
6
7 if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) {
8 $result['valid'] = false;
9 $result['reason'] = array($name => 'テキストエリアに「ひらがな」を含めてください。');
10 }
11
12 return $result;
13}
14add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
15add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);
16?>
1<label> テキストエリア
2 [textarea your-message] </label>
「Contact Form 7」の「コンタクトフォームの編集」部分に記載するコードは、そのままで大丈夫です!
実機の画面で見てみると、テキストエリアに「ひらがな」を含めて入力しないと、上記(例)のように表示されます。
funtions.phpに下記のコードを追加してください。
1<?php
2function wpcf7_validation_textarea_hiragana($result, $tag)
3{
4 $name = $tag['name'];
5 $value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';
6
7 if ($value !== '' && !preg_match('/[ア-ヶ]/u', $value)) {
8 $result['valid'] = false;
9 $result['reason'] = array($name => 'テキストエリアに「カタカナ」を含めてください。');
10 }
11
12 return $result;
13}
14add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
15add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);
16?>
上記の内容は、最初にご紹介した「ひらがな」の「カタカナver」になります。
funtions.phpに下記のコードを追加してください。
1<?php
2function wpcf7_validation_textarea_hiragana($result, $tag)
3{
4 $name = $tag['name'];
5 $value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';
6
7 if ($value !== '' && !preg_match('/[ア-ヶーぁ-ん]/u', $value)) {
8 $result['valid'] = false;
9 $result['reason'] = array($name => 'テキストエリアに「ひらがな」または「カタカナ」を含めてください。');
10 }
11
12 return $result;
13}
14add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
15add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);
16?>
上記の内容は、「ひらがな」又は「カタカナ」verになります。
実際、迷惑メールは非常に厄介で、初見はやや怖い思いをするので勘弁して欲しいところ。
今回の記事のコードを記載することで、英文のみの迷惑メールを防ぐことができたので、迷惑メールに困っている方は、是非参考にしてみてください。
以上になります。