J'utilise le plug-in Theme my Login pour un projet client et je ne parviens pas à mettre à jour les champs de profil une fois qu'un utilisateur a été enregistré;
J'ai suivi les instructions ici mais elles ne semblaient avoir aucun effet. Si quelqu'un pouvait nous éclairer, ce serait formidable.
Ceci est mon code actuel;
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' );
Le user_register
hook ne se déclenche que lorsque l'utilisateur s'enregistre pour la première fois. Pour que les données de profil personnalisées apparaissent sur l'écran Modifier l'utilisateur, vous devez utiliser le edit_user_profile
hook (et éventuellement show_user_profile
, si vous souhaitez que les utilisateurs puissent modifier leurs propres informations de profil personnalisé).