ワードプレスのContact Form 7で値のチェック(バリデーション/Validation)したんだ

根っからのWordpress嫌いです、ええ。

がしかし入力内容のチェックをしたいんだってさ。そらそーだよね。

つかCMSなんだから簡単に出来てよ。なんだよ面倒な・・・

 

functions.phpに追記

/*

wpcf7_validate_text ←type="text"ねtextareaはお察しの通り

*/

add_filter('wpcf7_validate_text', 'wpcf7_extend_filter', 11, 2 );
add_filter('wpcf7_validate_text*', 'wpcf7_extend_filter', 11, 2 );
add_filter('wpcf7_validate_textarea', 'wpcf7_extend_filter', 11, 2 );
add_filter('wpcf7_validate_textarea*', 'wpcf7_extend_filter', 11, 2 );
function wpcf7_extend_filter( $result, $tag ) {
  $t = new WPCF7_Shortcode($tag);
  $n = $t->name;

  if ($n === 'your-kana' && !preg_match('/^[ぁ-ん]+[ \s]+[ぁ-ん]+$/', $_POST[$n])) {
    $result->valid = false;
    $result->invalidate($t, 'ふりがなが間違っています。');
  }

  if ($n === 'tel' && !preg_match('/^0\d+-\d+-\d+$/', $_POST[$n])) {
    $result->valid = false;
    $result->invalidate($t, '電話番号が間違っています。');
  }

  /* 他にも追加する場合は↑のifから}までをコピーして↓に追加する */

 

  return $result;
}