Ändern der Validierungsnachrichten für das Addon zur Benutzerregistrierung

Möchten Sie die Fehlermeldungen, die bei der Benutzerregistrierung erscheinen, anpassen? Mit WPForms können Sie hilfreichere Meldungen wie "Benutzername ist bereits vorhanden" oder "E-Mail ist bereits vorhanden" erstellen, um Ihre Besucher durch den Registrierungsprozess zu führen.

Diese Anleitung zeigt Ihnen, wie Sie diese Validierungsmeldungen mit PHP anpassen können.

Einrichten Ihres Registrierungsformulars

Stellen Sie zunächst sicher, dass Sie das Addon User Registration für WPForms installiert haben. Dieses Addon bietet zwei vorgefertigte Vorlagen: Benutzer-Anmeldeformular und Benutzer-Registrierungsformular. Da wir uns auf Registrierungsmeldungen konzentrieren, erstellen Sie ein neues Formular mit der Vorlage User Registration.

Wenn Sie Hilfe bei der Erstellung Ihres Registrierungsformulars benötigen, lesen Sie unseren Leitfaden zur Erstellung von Benutzerregistrierungsformularen.

Diese Formulare können verschiedene Arten von Validierungsmeldungen anzeigen, um Ihre Benutzer zu unterstützen. Lassen Sie uns jede Art von Meldung anpassen.

Ändern der Validierungsnachrichten

Um die Validierungsmeldungen zu ändern, müssen Sie eines der unten stehenden Snippets zu Ihrer Website hinzufügen.

Wenn Sie nicht sicher sind, wie Sie benutzerdefinierten Code hinzufügen können, lesen Sie bitte unsere Anleitung zum Hinzufügen von Code-Snippets zu Ihrer Website.

Meldung "Benutzername existiert bereits

Die Standardmeldung lautet Ein Benutzer mit diesem Benutzernamen existiert bereits. Hier erfahren Sie, wie Sie die Meldung anpassen und einen Anmeldelink hinzufügen können:

/**
 * Change the User Registration Form error message for the already existing username
 *
 * @link https://wpforms.com/developers/change-validation-messages-for-user-registration-addon/
 */
function wpf_dev_user_registration_username_exists( $msg ) {
    // This is the message that would appear
    $msg = __( 'A user with that username already exists. Please <a href="http://yourdomain/wp-admin/">log in here</a> to your account.', 'text-domain' );
    return $msg;
}
add_filter( 'wpforms_user_registration_process_registration_process_username_exists_error_message', 'wpf_dev_user_registration_username_exists', 10, 1 );

E-Mail existiert bereits Nachricht

Die Standardmeldung lautet: Ein Benutzer mit dieser E-Mail-Adresse existiert bereits. Hier sehen Sie, wie Sie sie mit einem Anmeldelink anpassen können:

/**
 * Change the User Registration Form error message for already existing email address
 *
 * @link https://wpforms.com/developers/change-validation-messages-for-user-registration-addon/
 */
function wpf_dev_user_registration_email_exists( $msg ) {
    // This is the message that would appear
    $msg = __( 'A user with that username already exists. Please <a href="http://yourdomain/wp-admin/">log in here</a> to your account.', 'text-domain' );
    return $msg;
}
add_filter( 'wpforms_user_registration_process_registration_process_user_email_exists_error_message', 'wpf_dev_user_registration_email_exists', 10, 1 );

Meldung über ein falsches Passwort

Die Standardmeldung lautet Fehler: Das Passwort, das Sie für den Benutzernamen eingegeben haben, ist falsch. Haben Sie Ihr Passwort vergessen? Hier erfahren Sie, wie Sie es mit einem Link zum Zurücksetzen des Passworts anpassen können:

/**
 * Password is incorrect
 *
 * @link https://wpforms.com/developers/change-validation-messages-for-user-registration-addon/
 */
function wpf_dev_user_registration_login_error( $msg ) {
    // This is the message that would appear in the email
    $msg = __('Sorry something went wrong! ', 'text-domain');
    $msg .= '<a href=\\"http://www.website.com\\">';
    $msg .= __('Would you like to reset your password?', 'text-domain');
    $msg .= '</a>';
    return $msg;
}
add_filter( 'wpforms_user_registration_process_login_process_wp_error_message', 'wpf_dev_user_registration_login_error', 10, 1 );

Wenn Sie URLs in PHP hinzufügen, müssen Sie sie mit doppelten Schrägstrichen abschließen. Wenn Sie die URL zum Zurücksetzen des Kennworts ändern, können die Benutzer die in WordPress integrierte Funktion zum Zurücksetzen des Kennworts nicht mehr nutzen.

Benutzerdefinierte Login-Formular-Meldungen

Sie können auch Nachrichten für das Benutzeranmeldeformular anpassen. Hier sehen Sie, wie Sie eine allgemeine Nachricht für alle Formulare erstellen:

/**
 * Change the User Login Form error message
 *
 * @link https://wpforms.com/developers/change-validation-messages-for-user-registration-addon/
 */
function wpf_dev_user_registration_login_error($msg) {
    // This is the message that would appear in the email
    $msg = __( 'Sorry something went wrong! ', 'text-domain' );
    $msg .= '<a href="'.esc_url( wp_lostpassword_url() ).'">';
    $msg .= __( 'Would you like to reset your password?', 'text-domain' );
    $msg .= '</a>';
    return $msg;
}
add_filter( 'wpforms_user_registration_process_login_process_wp_error_message', 'wpf_dev_user_registration_login_error', 10, 2 );

Formularspezifische Fehlermeldungen

Sie können unterschiedliche Fehlermeldungen für verschiedene Formulare festlegen. Hier erfahren Sie, wie Sie die Meldungen je nach Formular-ID anpassen können. Wenn Sie Hilfe bei der Suche nach Ihren Formular-IDs benötigen, lesen Sie unseren Leitfaden zur Suche nach Formular- und Feld-IDs.

/**
 * Change the User Login Form error message specific per form
 *
 * @link https://wpforms.com/developers/change-validation-messages-for-user-registration-addon/
 */
function wpf_dev_form_login_errors( $fields, $entry, $form_data ) {
    $form_id = (int) $form_data[ 'id' ];
    
    add_filter(
        'wpforms_user_registration_login_error',
        function ( $message, $code ) use ( $form_id ) {
            // This if for form ID 525
            if ( $form_id === 525) {
                // This is the specific message for form ID 525
                return __( 'The error message here for form #525', 'text-domain' );
            }
            // This is for form ID 526
            if ( $form_id === 526) {
                // This is the specific message for form ID 526
                return __( 'The error message here for form #526', 'text-domain' );
            }
            return $message;
        },
        10,
        2
    );
}
add_action( 'wpforms_process', 'wpf_dev_form_login_errors', 9, 3 );

Häufig gestellte Fragen

F: Kann ich alle Fehlermeldungen auf einmal anzeigen?

A: Nein, PHP wird in der Reihenfolge ausgeführt, in der die Snippets hinzugefügt wurden oder in der Reihenfolge der in der Funktion festgelegten Priorität. Wenn Sie das Snippet wpforms_user_registration_username_exists als erstes auf Ihrer Website hinzugefügt haben, werden die Snippets nach dem Absenden des Formulars in der Reihenfolge ausgeführt, in der sie hinzugefügt wurden, und es wird die Meldung für das erste fehlgeschlagene Snippet angezeigt.

Und das ist alles, was Sie brauchen, um zusätzliche Validierungsmeldungen für das Addon User Registration hinzuzufügen. Möchten Sie Ihre Benutzer automatisch anmelden, sobald sie die Registrierung abgeschlossen haben? Schauen Sie sich unsere Anleitung zur automatischen Anmeldung von Benutzern nach der Registrierung an oder erfahren Sie, wie Sie benutzerdefinierte Meta-Felder zu Registrierungsformularen hinzufügen können.

Referenz-Filter