Ich verwende das Theme my Login Plugin für ein Client-Projekt und kann die Profilfelder nicht mehr aktualisieren, sobald ein Benutzer registriert wurde.
Ich folgte den Anweisungen hier aber sie schienen keine Wirkung zu haben. Wenn jemand Licht ins Dunkel bringen könnte, wäre das großartig.
Das ist mein aktueller Code;
register-form.php
<p>
<input
type="text"
name="phone_number"
id="phone_number<?php $template->the_instance(); ?>"
class="input"
value="<?php $template->the_posted_value( 'phone_number' ); ?>"
size="20"
tabindex="20"
placeholder="Phone Number"
/>
</p>
profile-form.php
<p>
<input
type="text"
name="phone_number"
id="phone_number"
value="<?php echo esc_attr( $profileuser->phone_number ); ?>"
class="regular-text"
placeholder="Phone Number"
/>
</p>
theme-my-login-custom.php
function tml_user_register( $user_id ) {
// Phone Number
if ( !empty( $_POST['phone_number'] ) )
update_user_meta( $user_id, 'phone_number', $_POST['phone_number'] );
}
add_action( 'user_register', 'tml_user_register' );
Der user_register
hook wird nur ausgelöst, wenn sich der Benutzer zum ersten Mal registriert. Damit die benutzerdefinierten Profildaten auf dem Bildschirm Benutzer bearbeiten angezeigt werden, sollten Sie den edit_user_profile
hook (und möglicherweise show_user_profile
verwenden, wenn Benutzer ihre eigenen benutzerdefinierten Profilinformationen bearbeiten können sollen).