Aktualisieren Sie nur einige benutzerdefinierte Benutzerfelder

Ich habe mehrere Benutzerfelder erstellt.
Diese Felder werden nur vom Administrator verwaltet, um zusätzliche Informationen über den Benutzer hinzuzufügen

Jetzt haben sich die Regeln geändert. Die Benutzer müssen Zugriff auf ihre Felder vom Frontend haben, dürfen aber nicht alle Felder bearbeiten.

Ich möchte also nur die Felder anzeigen, die der Benutzer ändern darf. Ich habe dies erstellt, aber beim Speichern ist ein Problem aufgetreten.

Wenn das Formular gespeichert wird, löscht es alle Felder, die nicht in der Form sind. Ich möchte die Benutzerfelder, die in der Form sind, aktualisieren und die einmal, die nicht sind, müssen unberührt bleiben!

Das habe ich gemacht: Ich habe eine Template-Datei erstellt und hinzugefügt:

ID, 'first_name', esc_attr( $_POST['first_name'] ) ); if ( count($error) == 0 ) { do_action('edit_user_profile_update', $current_user->ID); wp_redirect( get_bloginfo('url').'/my-page/'); exit; } }?>  0 ) echo '

' . implode("
", $error) . '

'; ?> <form method="POST" id="adduser" action="" enctype="multipart/form-data">
Name: <input class="profile_formfield" name="first_name" type="text" id="first_name" value="ID ); ?>" />

<input name="updateuser" type="submit" id="updateuser" class="submit button" value="" />

Eine hässliche Lösung könnte sein, alle Felder als versteckte Felder hinzuzufügen. Aber ich lieber nicht!

Siehst du, was ich falsch gemacht habe?

M.

Solutions Collecting From Web of "Aktualisieren Sie nur einige benutzerdefinierte Benutzerfelder"

Ich habe die Lösung gefunden

do_action('edit_user_profile_update', $current_user->ID); war das Problem. Nachdem ich es auskommentiert hatte, lief das Update gut.

do_action ist ein Plugin-Hook und erwartet mehr als die von gab:
Erläuterung