<html lang="ja-jp" dir="ltr"><head></head><body>### [不適切な言葉を含むフォーム送信をブロックする方法](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/)

**公開日:** 2020年10月13日
**著者:** エディトリアルチーム

**抜粋:** このチュートリアルでは、PHPを使用して、一行テキストおよび段落テキストフォームフィールドの不適切な言葉フィルターを設定する方法を説明します。

**コンテンツ:**

不適切な言葉を含むフォーム送信をブロックしたいですか？コードスニペットを使用すると、**段落テキスト**または**一行テキスト**フィールド内で見つかった場合に、フォーム送信を停止させる不適切な言葉のリストを簡単に作成できます。このチュートリアルでは、PHPでこれを実現する手順を説明します。

## フォームの作成

まず、新しいフォームを作成し、**段落テキスト**または**一行テキスト**のいずれかを追加する必要があります。

フォームの作成についてサポートが必要な場合は、[こちらのドキュメントを参照してください](https://wpforms.com/docs/creating-first-form/ "最初のフォームの作成方法")。

![新しいフォームに一行または段落テキストフォームフィールドを追加する](https://wpforms.com/wp-content/uploads/2020/10/wpforms-create-new-form.jpg)

## 不適切な言葉を含む送信のブロック

次に、不適切な言葉フィルターに追加したい単語のリストを考えます。ブロックしたい単語を特定したら、これらのスニペットのいずれかをサイトに追加する必要があります。スニペットをサイトに追加する方法についてサポートが必要な場合は、[こちらのドキュメントを参照してください](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "WPFormsにカスタムPHPまたはJavaScriptを追加する方法")。

各単語をコンマで区切って**$blocked\_words**に追加するだけです。

#### 段落テキストフォームフィールド

```

/**
 * 段落テキストフォームフィールドからの不適切な言葉を防ぎます。
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_paragraph( $field_id, $field_submit, $form_data ) {

        // コンマで区切られた不適切な言葉のリストを作成します
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( '不適切な言葉は許可されていません。', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_textarea', 'wpf_dev_profanity_filter_paragraph', 10, 3 );

```

![このスニペットを使用すると、段落テキストフォームフィールド内の不適切な言葉を含む送信がブロックされます](https://wpforms.com/wp-content/uploads/2020/10/wpforms-prevent-profanity-paragraph-text.jpg)

#### 一行テキストフォームフィールド

```

/**
 * 一行テキストフォームフィールドからの不適切な言葉を防ぎます。
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_single_text( $field_id, $field_submit, $form_data ) {

        // コンマで区切られた不適切な言葉のリストを作成します
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( '不適切な言葉は許可されていません。', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );

```

#### リッチテキストフォームフィールド

```

/**
 * リッチテキストフォームフィールドからの不適切な言葉を防ぎます。
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_rich_text( $field_id, $field_submit, $form_data ) {

        // コンマで区切られた不適切な言葉のリストを作成します
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( '不適切な言葉は許可されていません。', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );

```

これで、**一行**および**段落テキスト**フォームフィールドの不適切な言葉フィルターを作成して実装しました。フォームへのURL入力をブロックしたいですか？[フォームフィールド内のURLをブロックする方法](https://wpforms.com/developers/how-to-block-urls-inside-the-form-fields/ "フォームフィールド内のURLをブロックする方法")のチュートリアルをご覧ください。

## 参照アクション

- [wpforms\_process\_validate\_textarea](https://wpforms.com/developers/wpforms_process_validate_textarea/ "wpforms_process_validate_textareaフィルターの使用")
- [wpforms\_process\_validate\_text](https://wpforms.com/developers/wpforms_process_validate_text/ "wpforms_process_validate_textフィルターの使用")
- [wpforms\_process\_validate\_richtext](https://wpforms.com/developers/wpforms_process_validate_richtext/ "wpforms_process_validate_richtextフィルターの使用")

**カテゴリ:** フィールド

**タグ:** PHP

---</body></html>