modifier user_registered sans passer pas la base de données (Créer un compte)

  • Statut : non résolu
14 sujets de 1 à 14 (sur un total de 14)
  • Auteur
    Messages
  • #551592
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.2.2
    – Version de PHP/MySQL :
    – Thème utilisé : le mien
    – Extensions en place : aucune
    – Nom de l’hebergeur : STRATO
    – Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour,

    Dans le tableau de bord de wordpress, au niveau des utilisateurs, j’ai affiché la date d’enregistrement des utilisateurs.
    Avec le code suivant

    <tr>
    <th>Membre depuis</th>
    <td><input class="regular-text" id="particulier_dateinscription" type="text" name="particulier_dateinscription" value="<?php echo esc_attr( get_the_author_meta( 'user_registered', $user_id ) ); ?> » />
    </td>
    </tr>

    Cela apparaît bien dans la liste des infos des utilisateurs.
    Maintenant j’aimerai modifier cette date (pour x raison).

    j’ai ajouté bien sûr un « SAVE » mais là justement, quand je modifie, cela ne sauve pas la nouvelle date.

    j’ai essayé plusieurs chose…. avec

    update_usermeta( $user_id, ‘user_registered’, $_POST[‘user_registered’] );

    ou encore

    $user_id = wp_update_user( array( ‘ID’ => $user_id, ‘user_registered’ => $_POST[‘user_registered’] ) );

    Mais cela ne fonctionne pas.

    Comment mettre à jour cette donnée? (sans passer par la base de données Strato bien sûr)

    merci pour vos conseils 😉

    Timama

    #1011727
    didier07
    Participant
    Maître WordPress
    1964 contributions

    coucou
    update_user_meta :codex:
    😆

    #1011728
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci didier07

    en fait j’ai eu un doute justement quand je cherchais..sur cette fonction.
    Mais le truc est que je fais ça et ça marche très bien (sauf pour le user_registered)

    update_usermeta( $user_id, ‘particulier_titre1’, $_POST[‘particulier_titre1’] );
    update_usermeta( $user_id, ‘particulier_titre2’, $_POST[‘particulier_titre2’] );
    update_user_meta( $user_id, ‘user_registered’, $_POST[‘user_registered’] );
    update_usermeta( $user_id, ‘particulier_nummembre’, $_POST[‘particulier_nummembre’] );
    update_usermeta( $user_id, ‘particulier_rue1’, $_POST[‘particulier_rue1’] );
    update_usermeta( $user_id, ‘particulier_rue2’, $_POST[‘particulier_rue2’] );
    update_usermeta( $user_id, ‘particulier_plz’, $_POST[‘particulier_plz’] );
    update_usermeta( $user_id, ‘particulier_ort’, $_POST[‘particulier_ort’] );
    update_usermeta( $user_id, ‘particulier_pays’, $_POST[‘particulier_pays’] );
    update_usermeta( $user_id, ‘particulier_telfix’, $_POST[‘particulier_telfix’] );
    update_usermeta( $user_id, ‘particulier_telmobile’, $_POST[‘particulier_telmobile’] );
    update_usermeta( $user_id, ‘particulier_societe’, $_POST[‘particulier_societe’] );
    update_usermeta( $user_id, ‘particulier_kommentar’, $_POST[‘particulier_kommentar’] );
    update_usermeta( $user_id, ‘particulier_visibilite’, $_POST[‘particulier_visibilite’] );

    c’est bizarre…ou alors la fonction update_usermeta est l’ancienne fonction ?
    bon, en tout cas, ça fonctionne pas quand même avec update_user_meta

    #1011729
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    ah oui c’est ça

    https://codex.wordpress.org/Function_Reference/update_usermeta

    mais ça fonctionne toujours

    je vais changer ..

    #1011730
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    bon, le
    update_user_meta( $user_id, ‘user_registered’, $_POST );

    ne fonctionne pas…. bizarre.. je cherche (difficilement… la chaleur fait planter internet je crois)…. 😉

    #1011731
    didier07
    Participant
    Maître WordPress
    1964 contributions

    C’est l’enregistrement qui ne va pas ou la récupération de la donnée 🙂
    get_user_meta( $user_id, ‘user_registered’, true ) ça donne quoi ?

    #1011733
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci Didier pour ton aide. Désolée du retard. We chargé 😉

    Alors, vendredi, avec la chaleur, mon internet tournait au ralenti.

    Ce matin, je retente avec
    update_user_meta( $user_id, ‘user_registered’, $_POST );

    et ça à l’air de fonctionner.

    que dire …. que dire….
    merci Didier car j’utilise plus update_usermeta maintenant 😉

    #1011734
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    heu en fait non… je crois que c’est moi qui ai trop chaud…. ça marche pas ….. ouh là

    get_user_meta( $user_id, ‘user_registered’, true ) donne « array »

    et quand je fait un var_dump, ça donne « array(1) { [0]=> string(0) «  » } « 

    Sinon, quand je change la date directement dans la base de données, ça garde la nouvelle date : ça veut pas dire que la récupération est bon mais pas le save?

    #1011732
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    ah mais en fait, ça me créé des variables dans la table ‘usermeta » alors que moi je voudrais changer le « user_regitered » de la table users ……..

    hummmmm je vais chercher une fonction du style update_the_author_meta

    #1011735
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    okay, en fait, j’ai un problème avec toutes les variables de wp que je voudrais changer comme last_name, frist_name et donc aussi user_registered…. quand je modifie sur wp, cela ne modifie rien.

    Donc si je résume, dans mon fichier « funtion.php » , j’ai la gestion des user dans wp qui fonctionne (modification/save) pour

    <tr>
    <th>Civilité/Anrede* </th>
    <td><input class="regular-text" id="particulier_titre1" type="text" name="particulier_titre1" value=" » /></td>
    </tr>

    c’est à dire un paramètre users que j’ai créé en plus MAIS cela ne fonctionne pas (modification/save à partir du tableau de bors de wp) pour les paramètres par défaut de wp comme last_name ou user_registered

    <tr>
    <th>Membre depuis</th>
    <td><input class="regular-text" id="particulier_dateinscription" type="text" name="particulier_dateinscription" value=" » />
    </td>
    </tr>

    <tr>
    <th>Nom </th>
    <td><input class="regular-text" id="name" type="text" name="anrede" value=" » /></td>
    </tr>

    J’ai comme l’impression que cela me créé de nouveaux paramètres :
    – anrede pour last_name : je me retrouve avec ces 2 paramètres
    – particulier_dateinscription pour user_registered : je me retrouve avec ces 2 paramètres

    mais moi j’aimerai modifier et garder les nouvelle valeur de last_name ou user_registered et non pas créer de nouveaux paramètres.

    je pense donc qu’il faut que je revoie le traitement des paramètres users par defaut …… je continue

    :search:

    #1011736
    didier07
    Participant
    Maître WordPress
    1964 contributions

    Si tu travailles sur des paramètres « persos », tu passes par get/add _user_meta, et tu as tout dans les users meta
    Sinon, regarde du coté de l’objet WP_User. Tu modifies les paramètres et tu as les méthodes dedans pour sauvegarder et recuperer tes données

    #1011737
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci Didier. je regarde 😉

    #1011738
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    pour la sauvegarde, j’ai essayé

    //update_user_meta( $user_id, ‘user_registered’, $_POST[‘user_registered’] ); NON
    //wp_update_user( array( ‘ID’ => $user_id, ‘user_registered’ => $user_registered ) ); NON

    mais ça me crée un nouveau paramètre dans usermeta et cela ne modifie pas le User_registered de users….
    Du coup pour l’update de user_registered, je ne vois pas du tout car c’est tout ce que j’ai trouvé sur https://codex.wordpress.org …..

    bon, je cherche encore …..

    :search:

    #1011739
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    ayé ! j’ai trouvé!

    pour user_registered dans wp

    $user_partinfo = get_userdata($user_id);
    $user_registered = $user_partinfo->user_registered;
    <tr>
    <th>Membre depuis</th>
    <td>
    <input type="text" name="user_registered" id="user_registered" value=" »> </td>
    </tr>

    et pour la sauvegarde

    $user_partinfo = get_userdata($user_id);
    $registered = $user_partinfo->user_registered;
    wp_update_user( array( ‘ID’ => $user_id, ‘user_registered’ => $_POST[‘user_registered’] ) );

    et là ça me change bien le user_registered de la table users ….

    ✅ vraiment cette fois ci 😉

14 sujets de 1 à 14 (sur un total de 14)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.