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 );
}

関連機能

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

  2. 指定期間内に公開した記事タイトルに一括で新着表示をつける

  3. WordPressの記事を自動的にX(Twitter)に連携投稿できるプラグイン Autopost for X ( APIを使用した連携 )

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

人はどうでもいいことに命を懸けない。

葬送のフリーレン
by ヒンメル

Profile

PAGE TOP
Amazon プライム対象