J'autorise les utilisateurs à enregistrer des notes sur mon site wordpress. Ils ne peuvent le faire qu'après s'être connectés au site.
Maintenant, je veux enregistrer leurs notes dans une table de base de données et les associer à l'identifiant de l'utilisateur, c'est-à-dire que si un utilisateur a enregistré 2 notes, lorsqu'il se connecte et se rend sur "ma page", il devrait pouvoir voir les 2 notes qu'il a enregistrées.
Quelqu'un peut-il me guider s'il vous plaît sur la façon de faire cela? Je pourrais trouver beaucoup d'informations sur la sauvegarde des métadonnées personnalisées des utilisateurs lors de leur enregistrement. Cependant, aucune aide sur la sauvegarde des informations associées à un compte d’utilisateur n’a été trouvée après la connexion.
Je vous remercie.
Jetez un coup d’œil à update_user_meta vous pouvez sauvegarder les données utilisateur s’ils s’enregistrent ou sont connectés, c’est une question de savoir quel ID utilisateur vous lui transmettez.
dites dans votre fonction pour sauvegarder les données de l'utilisateur une fois qu'il est connecté:
function save_user_data_7231(){
global $current_user;
if is_user_logged_in{ //check if user is logged in.
if (isset($_POST['Notes'])){
// get current user info
get_currentuserinfo();
$old_notes = get_user_meta($current_user->ID, 'user_notes', true);
if (isset($old_notes)&& is_array($old_notes)){
//if we saved already more the one notes
$old_notes[] = $_POST['Notes'];
update_user_meta( $current_user->ID, 'user_notes', $old_notes);
}
if (isset($old_notes)&& !is_array($old_notes)){
//if we saved only one note before
$new_notes = array($old_notes,$_POST['Notes']);
update_user_meta( $current_user->ID, 'user_notes', $new_notes)
}
if (!isset($old_notes)){
//first note we are saving fr this user
update_user_meta( $current_user->ID, 'user_notes', $_POST['Notes'])
}
}
}
}
ils peuvent y afficher des notes que vous pouvez utiliser get_user_meta
function get_user_notes_654(){
global $current_user;
if is_user_logged_in{ //check if user is logged in.
// get current user info
get_currentuserinfo();
$old_notes = get_user_meta($current_user->ID, 'user_notes', true);
if (!isset($old_notes)){
$re = 'No Notes YET!';
}
if (isset($old_notes)){//we have notes. Removed the extra ! here.
if (is_array($old_notes)){//more then one
foreach($old_notes as $note){
$re .= '<strong>note:</strong>' . $note . '<br />';
}
}else{//just one
$re = '<strong>note:</strong>' . $old_notes . '<br />';
}
}
re .='//add note form would come here';
return $re;
}
}
J'espère que cela t'aides