ContactForm7で全角カタカナかをチェックする方法

2019.11.08

ContactForm7で全角カタカナかをチェックする方法になります。
※WordPressプラグインContactForm7を利用している前提になります。

functions.php

functions.phpにこちらを追加します。6行目、your-katakanaだったら全角カタカナのチェックをするようになっています。エラーメッセージを変更したい場合は、8行目の「全角カタカナ~」のところを修正してください。

//contact form7入力チェック
function wpcf7_validate_kana($result,$tag){ 
  $tag = new WPCF7_Shortcode($tag);
  $name = $tag->name;
  $value = isset($_POST[$name]) ? trim(wp_unslash(strtr((string) $_POST[$name], "\n", " "))) : "";
  if ($name === "your-katakana") {
    if(!preg_match("/^[ァ-ヾ]+$/u", $value)) {
      $result->invalidate($tag, "全角カタカナで入力してください。");
    }
  }
  return $result;
}
add_filter('wpcf7_validate_text',  'wpcf7_validate_kana', 11, 2);
add_filter('wpcf7_validate_text*', 'wpcf7_validate_kana', 11, 2);

コンタクトフォームの編集

[text* your-katakana] 

コンタクトフォーム側の設定で名前をyour-katakanaに設定します。

これでOKだと思います。

関連記事