Wie werden first_name und last_name Pflichtfelder im Benutzerprofil erstellt?

Ich habe ein Plugin und möchte Feature hinzufügen, um die Felder first_name und last_name zu erstellen.

Wenn der Benutzer zu seiner Profilseite wechselt, muss er einen Vornamen und einen Nachnamen hinzufügen.

Es gibt auch einige benutzerdefinierte WooCommerce-Felder, die ich ebenfalls benötigen möchte.

Gibt es einen Pre-Save-Profil-Hook / Filter?

Vielen Dank

Solutions Collecting From Web of "Wie werden first_name und last_name Pflichtfelder im Benutzerprofil erstellt?"

Sie können die Variable $_POST überprüfen, wenn Sie die Benutzerprofilseite aktualisieren.

Ich würde in user_profile_update_errors und etwas in diesen Zeilen tun. Dieser Filter wird nicht in der DB gespeichert, wenn Fehler gefunden werden.

 add_filter('user_profile_update_errors', 'wpse_236014_check_fields', 10, 3); function wpse_236014_check_fields($errors, $update, $user) { // Use the $_POST variable to check required fields if( empty($_POST['first_name']) ) // add an error message to the WP_Errors object $errors->add( 'first_name_required',__('First name is required, please add one before saving.') ); if( empty($_POST['last_name']) ) // add an error message to the WP_Errors object $errors->add( 'last_name_required',__('Last name is required, please add one before saving.') ); // Add as many checks as you have required fields here if( empty( $errors->errors ) ){ // Save your custom fields here if no errors are found // Just skip this if you don't need to do extra work. // Fields will save if no errors are found } } 

EXTRA

Es gibt auch 2 Hooks, die Sie verwenden können, wenn Sie benutzerdefinierte Felder speichern, die der Profilseite hinzugefügt wurden. Ich verweise Sie auf den Codex, wenn Sie mehr Spezifikationen wünschen, da ich ziemlich sicher bin, dass Sie diese für Ihren spezifischen Anwendungsfall nicht brauchen werden, da ich glaube, dass benutzerdefinierte WooCommerce-Felder auch in der Variablen $_POST erscheinen sollten.

  • edit_user_profile_update – Diese edit_user_profile_update wird jedes Mal verwendet, wenn eine Profilseite bearbeitet wird.
  • personal_options_update – Dieser wird ausgetriggers, wenn ein Benutzer sein eigenes Profil besucht