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 XPosterプラグインとカスタム投稿を使用してX(twitter)を予約投稿で自動連携してみる

  2. 管理画面ヘッダーメニューの「投稿を表示」クリック時に別タブにて表示できるようにする ( target=”_blank” )

  3. <head>~</head>にechoで記述を追加したい時

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

三次元に希望を持っていた時期が
僕にもありますた

STEINS;GATE
by ダル(橋田至)

Profile

PAGE TOP
Amazon プライム対象