J'écris un plugin pour éditer ma page de profil.
Comment sauvegarder les données d'un champ de saisie dans la base de données puis les afficher?
Ceci est mon code. La première partie est l’affichage en HTML:
<form method ="POST">
<div id= 'dynamic_input_groups'>
<input type='text' name='group[]' id='group[]' class="regular-text"
value="<?php echo esc_attr( get_the_author_meta( 'group', $user->ID ) ); ?>" />
<input type="button" class="button-primary" value="Add"
onClick="addInput('dynamic_input_groups');">
</div>
</form>
Et la deuxième partie est le script pour le clic de bouton et le champ de saisie:
<script>
var counter = 1;
var limit = 15;
function addInput(divName) {
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
} else {
var newdiv = document.createElement('div');
newdiv.innerHTML = " <br><input type='text' name='group[]'' class='regular-text'>";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
Et la dernière partie enregistre les données dans la base de données:
update_usermeta( $user_id, 'group', $_POST['group'] );
N'utilisez pas update_usermeta
, il est déconseillé, update_user_meta
est celui à utiliser.
Vous obtenez la valeur précédemment enregistrée avec get_user_meta
.
<input type='text' name='group[]' id='group[]' class="regular-text"
value="<?php echo esc_attr( get_user_meta( $user->ID, 'group', true ) ); ?>" />