Enregistrer un utilisateur depuis un formulaire Contact Form 7

  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #522967
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Bonjour,

    J’ai tenté sans succès d’enregistrer un nouvel utilisateur qui remplit un formulaire CF7.
    – J’ai créé une fonction ad hoc, ajoutée dans le hook wpcf7_before_send_mail.
    – Les arguments de CF7 passent bien
    – Le nouvel utilisatur est correctement créé (wp_insert_user)

    MAIS
    – l’utilisateur est face au formulaire qui “tourne” (ou boucle) mais ne lui “rend pas la main”.
    – en cliquant une deuxième fois sur “soumettre” ça marche. En fait la page se recharge, et on échappe la fonction puisque l’utilisateur existe déjà… Mais lui ne le sait pas, et ça donne l’impression que le site ne fonctionne pas …

    Est-ce que vous avez rencontré ce type de difficulté ? Trouvé une solution ?
    Merci de vos retours,

    #888023
    LH
    Membre
    Chevalier WordPress
    372 contributions

    Bonjour,

    Est-ce que tu peux publier le code de ta fonction ?
    Soit le traitement de la fonction prend trop de temps, soit elle tourne en boucle ?

    Bon courage

    #888024
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Merci LH de ton retour,
    Voici le code simplifié :

    function ajout_utilisateur ($cf7) {
    if ( ( $cf7->posted_data[‘your-email’] ) == FALSE) {
    $user_dl_id = wp_create_user( $cf7->posted_data[‘your-name’], wp_generate_password( $length=10, $include_standard_special_chars=false ), $cf7->posted_data[‘your-email’] );
    }
    return $cf7)
    }
    add_action( ‘wpcf7_before_send_mail’, ‘ajout_utilisateur’ );

    Basic …
    Et pourtant, l’utilisateur se retrouve devant une boucle sans fin.

    #888025
    LH
    Membre
    Chevalier WordPress
    372 contributions

    Oui, en effet, il n’y pas beaucoup de code…

    Pour comparer, est-ce que tu as essayé de créer un nouvel utilisateur par l’interface admin ?
    Ca prend beaucoup de temps ?
    C’est pour savoir ce qui se passe dans la fonction wp_insert_user:
    http://codex.wordpress.org/Function_Reference/wp_insert_user

    Et peut-être aussi faire un essai en désactivant les autres plugins ?

    #888026
    EmmaJung
    Participant
    Chevalier WordPress
    149 contributions

    Bonjour LH
    Pas de souci pour créer un utilisatuer à la main.
    Et bien entendu j’avais fait le test en désactivant tous les autres plugins (sauf CF7) : ça ne marche pas non plus.
    Une idée peut-être : j’ai mis pas mal de JS dans le footer, je vais tester en les remontant dans le header …

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.