[PHP] creation espace membre worpdress (Créer un compte)

  • WordPress :5.4
  • Statut : non résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #2342632
    grosfaignan
    Participant
    Initié WordPress
    26 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.2
    • Thème utilisé : neve
    • Extensions en place : duplicator, database reset, database cleaner,
    • Nom de l’hébergeur : 000.webhost
    • Adresse du site : localhost
    • Problème(s) rencontré(s) :

    Bonjour,

     

    je cherche une solution afin de mettre en place un espace membre sans passé par un plugin (type ultimate member ou autre profil grid) que je trouve beaucoup trop contraignant. a la place je cherche a mettre en place un bout de code via un ou plusieurs snippets pour contrôler l’edition du profil.

    j’ai suivi le Tuto sur ce lien : https://wabeo.fr/espace-membre-wordpress/ j’ai pris seulement en compte la partie de code concernant l’edition de profile (ici le php : https://bitbucket.org/api/2.0/repositories/willybahuaud/articles-wabeo/src/5062808/espace-prive/edit-user-profil.php et ici le js : https://bitbucket.org/api/2.0/repositories/willybahuaud/articles-wabeo/src/master/espace-prive/inscription-2.js ) et j’ai collé le tout dans mon snipets

    mais pas moyen de le faire fonctionné.

    je suis obligé de rajouté un appel a la fonction edit_user_form() pour réussir a afficher le formulaire et le click sur le bouton de validation me renvoie juste sur une url vide. (je m’y attendait un peut je pense que l’appel doit se faire autrement… mais comment ??? )

    j’ai également tenter de trouver a quel fichier pouvait faire reference le ‘inscription-front’ employé dans la fonction

    wp_enqueue_script( 'inscription-front' );

    mais sans rien trouver dans le tuto ou sur le net.

     

    je cherche donc , soit qqun pour m’aiguillé sur le tuto, soit me proposer un autre tuto, ou un bout de code source tout pret, ou encore des lien vers de la doc pertinente de wordpress pour m’aider a établir mon code.

    • Ce sujet a été modifié le il y a 2 semaines et 3 jours par grosfaignan.
    • Ce sujet a été modifié le il y a 2 semaines et 3 jours par grosfaignan.
    #2343028
    grosfaignan
    Participant
    Initié WordPress
    26 contributions

    personne ?

    #2343054
    Li-An
    Modérateur
    Maître WordPress
    23692 contributions

    Bonjour, désolé mais les UP ne sont pas autorisés sur ce forum. Et redésolé mais je n’ai pas de réponse à votre question.

    #2343055
    grosfaignan
    Participant
    Initié WordPress
    26 contributions

    ok merci je prend note pour les up

    #2343109
    Yoshimario77
    Participant
    Initié WordPress
    40 contributions

    Salut,

    une recherche rapide en anglais m’a permis de trouvé ces quelques liens :

     

    Celui-ci

    Ou celui-là

    Je n’ai testé ni l’un ni l’autre, mais ça me semble répondre à ta demande. Si possible, j’aimerais bien avoir ton retour quand ce sera implémenté sur ton site.

     

     

     

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par Yoshimario77. Raison: Je remarque que les liens que tu as mis ont l'air bien plus complets que ce que j'ai trouvé ! Désolé, j'ai lu trop vite, je ne sais pas si ma contribution apporte grand chose
    #2343462
    grosfaignan
    Participant
    Initié WordPress
    26 contributions

    j’ai pour ma part trouver celui-ci : https://wabeo.fr/espace-membre-wordpress/ pas trop mal a ceci prêt que  j’ai quelque difficultés à le mettre en place. peut être certain d’entre vous pourront m’aider :

    pour commencer : concernant la première partie du code :

    voici tel que presenté sur le site :

    // Formulaire de connexion
    if ( ! is_user_logged_in() ) {
    	wp_login_form( array(
            'redirect'       => site_url( '/' ), // par défaut renvoie vers la page courante
            'label_username' => 'Login',
            'label_password' => 'Mot de passe',
            'label_remember' => 'Se souvenir de moi',
            'label_log_in'   => 'Se connecter',
            'form_id'        => 'login-form',
            'id_username'    => 'user-login',
            'id_password'    => 'user-pass',
            'id_remember'    => 'rememberme',
            'id_submit'      => 'wp-submit',
            'remember'       => true, //afficher l'option se ouvenir de moi
            'value_remember' => false //se souvenir par défaut ?
    	) );
    } else {
    	echo '<a href="' . admin_url( 'user-edit.php?user_id='. get_current_user_id() ) .'">Accès au profil</a>';
    	echo '<a href="' . wp_logout_url( site_url( '/' ) ) .'">Se déconnecter</a>';
    }
    
    // Ajouter le lien pour récupérer le mot de passe, si l'utilisateur ne s'en souvient plus
    add_filter( 'login_form_bottom', 'lien_mot_de_passe_perdu' );
    function lien_mot_de_passe_perdu( $formbottom ) {
    	$formbottom .= '<a href="' . wp_lostpassword_url() . '">Mot de passe perdu ?</a>';
    	return $formbottom;
    }
    login.php

    comme le site ne dit pas comment incruster cette portion de code la ou ca nous interesse j’ai du le transformer en shortcode pour pouvoir y arriver, comme ceci :

    <?php
    
    function olympusLogin()
    {
    // Formulaire de connexion
    	if (!is_user_logged_in()) {
    		return wp_login_form(array(
    			'redirect'       => site_url('/'), // par défaut renvoie vers la page courante
    			'label_username' => 'Login',
    			'label_password' => 'Mot de passe',
    			'label_remember' => 'Se souvenir de moi',
    			'label_log_in'   => 'Se connecter',
    			'form_id'        => 'login-form',
    			'id_username'    => 'user-login',
    			'id_password'    => 'user-pass',
    			'id_remember'    => 'rememberme',
    			'id_submit'      => 'wp-submit',
    			'remember'       => true,  //afficher l'option se ouvenir de moi
    			'value_remember' => false, //se souvenir par défaut ?
    		));
    	} else {
    		return '<a href="' . admin_url('user-edit.php?user_id=' . get_current_user_id()) . '">Accès au profil</a><a href="' . wp_logout_url(site_url('/')) . '">Se déconnecter</a>';
    	}
    
    // Ajouter le lien pour récupérer le mot de passe, si l'utilisateur ne s'en souvient plus
    
    }
    
    add_shortcode('olympus-login', 'olympusLogin');
    
    add_filter('login_form_bottom', 'lien_mot_de_passe_perdu');
    function lien_mot_de_passe_perdu($formbottom)
    {
    	$formbottom .= '<a href="' . wp_lostpassword_url() . '">Mot de passe perdu ?</a>';
    	return $formbottom;
    }
    login.php

    j’ai donc :

    1. inclus le formulaire dans une fonction
    2. transformer les instruction suivant les conditions en return (sinon j’ai une erreur”Mise à jour échouée. La réponse n’est pas une réponse JSON valide.”  , lorsque j’enregistre le shortcode dans ma page)

    enfin dernier point j’ai de petit soucis de comprehension de cette partie du code :

    add_filter('login_form_bottom', 'lien_mot_de_passe_perdu');
    function lien_mot_de_passe_perdu($formbottom)
    {
    	$formbottom .= '<a href="' . wp_lostpassword_url() . '">Mot de passe perdu ?</a>';
    	return $formbottom;
    }
    login.php

     

    comment le paramettre $formbottom peut il etre transmis a la fonction liens_de_mot_de_passe_perdu alors que cette dernière est uniquement utilisé par add_filter ?

     

    merci d’avance.

    • Cette réponse a été modifiée le il y a 5 jours et 18 heures par Flobogo. Raison: Suppression du mode "privé"
    #2344207
    Flobogo
    Modérateur
    Maître WordPress
    16219 contributions

    Bonjour,

    Votre réponse était en mode “privé”, ce qui la masque aux autres utilisateurs (seuls les modos et vous pouvaient la voir). Je l’ai donc mise en mode normal, car elle ne contient pas d’infos confidentielles. Par contre, je ne sais pas vous répondre.

    #2344210
    grosfaignan
    Participant
    Initié WordPress
    26 contributions

    haha, je me demandais pourquoi elle était rose, merci bcp 🙂

     

    [EDIT]tant que j’y suis, utiliser des CPT pour la gestion du profil et des informations personnelles. bonne ou pas bonne idée ?

    • Cette réponse a été modifiée le il y a 5 jours et 17 heures par grosfaignan.
    • Cette réponse a été modifiée le il y a 5 jours et 17 heures par grosfaignan.
8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.