# Block WPForms Submissions Containing Spam Words

> Quietly discards WPForms submissions when any field contains a word or phrase from your block list, the same way WPForms treats a filled honeypot.

- Type: PHP
- Runs: Run everywhere
- Category: [Forms](https://wpide.com/library/category/forms/)
- Tags: wpforms, spam, blocklist
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/wpforms-blocked-words-spam/

## Code

```php
$wpide_wpf_spam_words = array( 'seo services', 'backlinks', 'crypto', 'casino', 'guest post', 'rank your website' );

add_filter( 'wpforms_process_honeypot', function ( $honeypot, $fields, $entry, $form_data ) use ( $wpide_wpf_spam_words ) {
    if ( $honeypot ) {
        return $honeypot;
    }

    $text = '';
    foreach ( (array) $fields as $field ) {
        $text .= ' ' . ( isset( $field['value'] ) ? (string) $field['value'] : '' );
    }
    if ( '' === trim( $text ) && ! empty( $entry['fields'] ) ) {
        foreach ( (array) $entry['fields'] as $value ) {
            $text .= ' ' . ( is_array( $value ) ? implode( ' ', $value ) : (string) $value );
        }
    }

    foreach ( $wpide_wpf_spam_words as $word ) {
        if ( preg_match( '/\b' . preg_quote( $word, '/' ) . '\b/iu', $text ) ) {
            return 'Your message contains words we do not accept.';
        }
    }

    return $honeypot;
}, 10, 4 );
```

## Notes

Matching is case-insensitive on whole words; WPForms discards matching submissions silently, like its own honeypot, so bots get no hint.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Block WPForms Submissions Containing Spam Words" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
