ワードプレスの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;
}