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 ウィジェットにサムネイル付き記事を表示 Recent Posts Widget Extended

  2. WordPress 記事タイトルが空の場合にアラートを表示させて保存処理を止める

  3. WordPress Amazonアソシエイトの広告表示が簡単に行えるプラグイン Auto Amazon Links

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

人とは哀れなものだね
己にないもの程欲しくなる
届かぬものに程手をのばす

銀魂
by 神威

Profile

PAGE TOP