Fügen Sie ‘Vornamen’, ‘Nachname’, ‘Geburtsdatum’ und ‘Allgemeine Geschäftsbedingungen’ hinzu, um Felder zu registrieren?

Wie kann ich ‘Vorname’, ‘Nachname’, ‘Geburtsdatum’ und ‘Bedingungen’ zu WordPress ‘Registerfeldern hinzufügen? Meine Website ist auf Erwachsene ausgerichtet und ich möchte das Alter der Nutzer bestätigen und sie vor der Teilnahme mit den Bedingungen einverstanden erklären.

Solutions Collecting From Web of "Fügen Sie ‘Vornamen’, ‘Nachname’, ‘Geburtsdatum’ und ‘Allgemeine Geschäftsbedingungen’ hinzu, um Felder zu registrieren?"

Felder hinzufügen

Zuerst einige Felder zum Registrierungsformular hinzufügen

add_action( 'register_form', 'extended_register_form', 10, 0 ); function extended_register_form() { // if an error occurs, we are here again and the // values that are entered in the formular are setup in the $_POST array $age = filter_input( INPUT_POST, 'age', FILTER_SANITIZE_NUMBER_INT ); echo '

'; echo ''; printf( '', $age ); echo '

'; echo '

'; echo ''; echo ''; echo '

'; }

Überprüfung, validation und Sanitation

Jetzt müssen wir die Benutzereingabe überprüfen. Wenn ein oder mehrere Werte nicht unseren Kriterien entsprechen, möchten wir eine Fehlermeldung ausgeben. Hängen Sie dazu in den registration_errors und fügen Sie dem Fehlerobjekt einen oder mehrere Fehler hinzu. Wenn das Fehlerobjekt nicht leer ist, wird die Registrierung gestoppt und die Fehler werden gedruckt.

 add_filter( 'registration_errors', 'show_errors', 10, 3 ); function show_errors( $errors, $login, $email ) { $tos_check = ( isset( $_POST['tos_check'] ) && true == $_POST['tos_check'] ) ? true : false; if ( false == $tos_check ) $errors->add( 'termsnotaccepted', 'You have to agree to the TOS' ); $age_check = filter_input( INPUT_POST, 'age', FILTER_SANITIZE_NUMBER_INT ); if ( $age_check < 21 ) $errors->add( 'toyoungerror', 'Sorry, you are to young' ); return $errors; } 

Speichern der Daten

Endlich die Benutzerregistrierungsroutine einhängen und prüfen, ob die (verifizierten und validierten) Werte gesetzt sind. Wenn die Werte vorhanden sind, speichern Sie sie im Meta-Verzeichnis des Benutzers.

 add_action( 'user_register', 'user_register', 10, 1 ); function user_register( $user_id ) { $data = array(); $age = filter_input( INPUT_POST, 'age', FILTER_SANITIZE_NUMBER_INT ); if ( ! empty( $age ) ) $data['age'] = $age; update_user_meta( $user_id, 'choose-a-key', $data ); return $user_id; } 

Zusammenfassung

  1. Fügen Sie Ihre Felder dem Registrierungsformular hinzu
  2. Überprüfen, validieren und bereinigen Sie die Werte. Wenn ein erforderlicher Wert nicht festgelegt (oder nicht gültig) ist, fügen Sie einen Fehler hinzu. Dies wird den Registrierungsprozess stoppen und die Fehlermeldung ausgeben
  3. Speichern Sie die benötigten Werte im Benutzermeta