概要説明
Contact Form 7 のスパム対策を行いたい時のカスタマイズ。日本語判定プラス任意のNGワードを設定できることにより後々調整を行うことができるような処理になっています。
コード – your-message フィールドを対象とする(本文)
functions.php
/*----------------------------------------------------
Contact Form 7 禁止ワードと日本語判定によるスパム判定処理
----------------------------------------------------*/
if ( !function_exists( 'wpcf7_validate_spam_msg' ) ){
function wpcf7_validate_spam_msg( $result ) {
$field = 'your-message';
$ngwords = array('禁止ワード', 'NGワード');
if (!empty($_POST[$field])) {
// NGワードを含む場合は場合は弾く
foreach ( $ngwords as $key => $word ) {
if (false !== strstr($_POST[$field], $word)) {
$result['valid'] = false;
$result['reason'] = array('your-message' => '送信できません');
break;
}
}
// ひらがなが本文に含まれているかを判定
if (!preg_match('/[ぁ-ん]+/u', $_POST[$field])) {
$result['valid'] = false;
$result['reason'] = array('your-message' => '送信できません');
}
}
return $result;
}
add_filter( 'wpcf7_validate_textarea', 'wpcf7_validate_spam_msg', 10 );
}



