Übersicht
Sind Sie daran interessiert, eine globale Denyliste auf Domain-Ebene zu erstellen, die für alle Ihre Formulare gilt? Die Erstellung einer solchen Liste garantiert, dass alle zuvor markierten Spam-E-Mails über eine einzige, einheitliche Funktion für alle Ihre WPForms blockiert werden.
Standardmäßig können Sie mit der Allowlist oder Denylist Domains für jedes Formular blockieren, indem Sie *@bad-domain.com
. Weitere Informationen zum Einrichten einer Zulassen- oder Verweigern-Liste finden Sie hier, sehen Sie sich bitte diesen hilfreichen Leitfaden an.
Das Hauptziel dieses Tutorials ist es jedoch, eine globale Liste zu erstellen, die eine individuelle Bearbeitung in jedem Formular überflüssig macht. Mit den Möglichkeiten von PHP wird die Erstellung einer solchen Liste zu einem einfachen und schnellen Prozess, wie wir in diesem Tutorial zeigen werden!
Hinzufügen des Snippets
Jetzt müssen wir das Snippet zu unserer Website hinzufügen und die Liste nach den zu blockierenden Domänennamen anpassen. Kopieren Sie einfach dieses Snippet und fügen Sie es auf Ihrer Website ein.
Wenn Sie wissen möchten, wie und wo Sie Snippets zu Ihrer Website hinzufügen können, lesen Sie bitte diese Anleitung.
/* * Global denylist for domains on all WPForms. * * @link https://wpforms.com/developers/how-to-create-a-global-denylist/ */ function wpf_dev_blacklist_global_domains( $field_id, $field_submit, $form_data ) { // Find the domain name, anything after the @ symbol $domain = substr( strrchr( $field_submit, "@" ), 1 ); // Add the domains here, separated by commas $blacklist = array( 'deny.com', 'nope.com' ); // Customize the error message that will be shown if( in_array( $domain, $blacklist ) ) { wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'We apologize, this domain is not accepted.', 'wpforms' ); return; } } add_action('wpforms_process_validate_email', 'wpf_dev_blacklist_global_domains', 10, 3 );
Dieses Snippet prüft den in das E-Mail-Feld eingegebenen Domänennamen und gleicht ihn mit der globalen Liste ab, die Sie in diesem Snippet erstellt haben. Domänennamen können im Format [email protected] aufgeführt werden. Jede Domäne wird jedoch in einfachen Anführungszeichen aufgeführt und dann durch ein Komma getrennt.
Wenn ein Benutzer versucht, diese Domäne einzugeben und das Formular abschickt, wird er die Fehlermeldung sehen.
Und das war's! Sie haben erfolgreich eine globale Denyliste für alle Ihre WPForms erstellt. Möchten Sie auch Schimpfwörter in Ihren Formularen blockieren? Werfen Sie einen Blick auf unser Tutorial How to Block Form Submissions Containing Profanity.
Verwandte Seiten
Referenz der Aktion: wpforms_process_validate_email