注目キーワード
  1. デザイン
  2. 表示速度
  3. SEO
  4. UX
  5. トレンド
Webデザイナー向けのブログです。Webデザインの基礎知識から最新のデザインツールやトレンド、UI/UXデザインの重要ポイントを解説。HTML/CSSやJavaScript、Photoshopなどの技術も含め、Webデザイナーとしてキャリアを築くためのヒントを提供します。初心者から経験者まで、実践的なアドバイスやノウハウで、デザインスキルを向上させるための情報を発信しています。

【WordPress Contact Form 7】「textarea」で日本語入力が無ければ送信できなくする方法

WordPressのContact Form 7でメールフォーム「textarea」で日本語入力が無ければ送信できなくする方法です。スパム対策で英数字だけではエラーを出します。エラー分は任意の文章を出せるようにしています。

何も対策してないときにスパムメールが多い昨今、こういった簡単な手法でスパムを防げることができます。しかし完全な防御策ではないのでこれを合わせて、Akismet Anti-spamやGoogleのreCAPTCHAを導入するのをおすすめします。

function.phpに以下を追加

add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);

function wpcf7_validation_textarea_hiragana($result, $tag)
{
$name = $tag['name'];
$value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';

if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) {
$result['valid'] = false;
$result['reason'] = array($name => '英数字のみでは送信できません。日本語で入力してください。');
}

return $result;
}