【WordPress】Contact Form 7で特定の文字列が含まれない場合に送信できないエラーを出す方法【スパム対策】

お問い合わせフォームでおそらく最も利用されているであろうプラグイン「Contact Form 7」で、特定の文字列が入力欄に含まれていない場合に送信エラーを出して、スパム対策や間違った内容を送信させない方法です。

例えば、URLフォームでhttps://alfa-tools.net/img01.jpgのように画像形式でない場合に送信できないようにしたり、フォームの前に「スパム防止のためテキスト欄には「確認済み」の文字列を含めてください」のように書いておき、この文字列が含まれない場合は送信できなくしたりといった使い方も可能です。

functions.phpに追記するコード

子テーマのfunctions.phpに記述してください。親テーマに記述すると、テーマがアップデートされると上書きされてしまいます。

上記のコードはurl-962というURL入力フォームの例です。フォームは以下のような形式になっているので、text-223であればurl-962をtext-223に変更すればそのフォームに適用されます。

<label> お名前
[text* text-223] </label>

単純に特定の文字列が含まれる場合に送信できなくしたい場合

これは特にコードの修正や追記は不要で、WordPressのデフォルトの機能で対応可能です。管理画面(ダッシュボード)に入り、左側のメニューから「設定」→「ディスカッション」の中にある「コメント内で許可されないキーワード」に迷惑な単語を登録しましょう。

例えば「広告/収益/弊社/CPM/CPC/御社/売り上げ」のような文字列を入れておけば、広告業者からの営業メールも弾くことができます。

コメント