WordPress Contact Form 7 禁止ワードと日本語判定によるスパム判定処理

概要説明

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 );
}
WordPress Contact Form 7 禁止ワードと日本語判定によるスパム判定処理

関連機能

  1. WordPress 永続オブジェクトキャッシュAPC設定を設定して高速化 (エックスサーバー)

  2. DBキャッシュ機能を実装 外部データなど任意の情報を一定期間キャッシュさせる

  3. WordPress パンくずリスト表示用のショートコード

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

正しい戦争なんてあるもんか

機動戦士ガンダムUC
by バナージ・リンクス

Profile

PAGE TOP
Amazon プライム対象