Möchten Sie Ihre Formulareingaben blockieren, die Schimpfwörter enthalten? Mit einem kleinen Codeschnipsel können Sie ganz einfach eine Liste von Schimpfwörtern erstellen, die jede Formularübermittlung stoppt, wenn sie in Ihrem Absatztext oder in einem einzeiligen Textfeld vorkommen. In diesem Tutorial zeigen wir Ihnen, wie Sie dies mit PHP erreichen können.
Ihr Formular erstellen
Zunächst müssen Sie ein neues Formular erstellen und entweder einen Absatztext oder einen einzeiligen Text hinzufügen.
Wenn Sie Hilfe bei der Erstellung eines Formulars benötigen, lesen Sie bitte diese Dokumentation.
Blockieren von Beiträgen, die Obszönitäten enthalten
Erstellen Sie als Nächstes eine Liste von Wörtern, die Sie zu Ihrem Schimpfwortfilter hinzufügen möchten. Sobald Sie die Wörter gefunden haben, die Sie blockieren möchten, müssen Sie eines dieser Snippets zu Ihrer Website hinzufügen. Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, lesen Sie bitte diese Dokumentation.
Sie fügen einfach jedes Wort durch ein Komma getrennt in Ihr $blocked_words ein.
Absatz Text Formularfeld
/** * Prevent profanity words from Paragraph Text form fields. * * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ */ function wpf_dev_profanity_filter_paragraph( $field_id, $field_submit, $form_data ) { // Create your list of profanity words separated by commas $blocked_words = array( 'badword1', 'badword2' ); foreach( $blocked_words as $word ) { if(strpos($field_submit, $word) !== FALSE ) { wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' ); return; } } } add_action( 'wpforms_process_validate_textarea', 'wpf_dev_profanity_filter_paragraph', 10, 3 );
Einzeiliges Textformularfeld
/** * Prevent profanity words from Single Line Text form fields. * * @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 ) { // Create your list of profanity words separated by commas $blocked_words = array( 'badword1', 'badword2' ); foreach( $blocked_words as $word ) { if(strpos($field_submit, $word) !== FALSE ) { wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' ); return; } } } add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );
Rich-Text-Formularfeld
/** * Prevent profanity words from Rich Text form fields. * * @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 ) { // Create your list of profanity words separated by commas $blocked_words = array( 'badword1', 'badword2' ); foreach( $blocked_words as $word ) { if(strpos($field_submit, $word) !== FALSE ) { wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' ); return; } } } add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );
Und das war's! Sie haben nun einen Profanitätsfilter für Ihre Formularfelder für einzeiligen Text und Absatztext erstellt und implementiert. Möchten Sie verhindern, dass URLs in Ihr Formular eingegeben werden? Sehen Sie sich unser Tutorial über das Blockieren von URLs in Formularfeldern an.