- Statut : non résolu
- Ce sujet contient 12 réponses, 2 participants et a été mis à jour pour la dernière fois par aoso33, le il y a 11 années et 1 mois.
-
AuteurMessages
-
6 août 2013 à 13 h 07 min #527130
Bonjour à tous,
J’évoquais ce problème sur un autre post mais j’ouvre cette discussion adapté à cette problématique.J’utilise Allow PHP in Posts and Pages pour exécuter du code PHP. Je code mes fonctions puis avec le shortcode fourni j’appelle la fonction dans la page où j’en ai besoin.
Mon code PHP comporte des requêtes MySQL et j’aimerais utiliser le login de l’utilisateur connecté pour personnaliser une de ces requêtes.
La gestion des membres se fait par MemberShip Manager. Je peux utiliser le login de l’utilisateur connecté en insérant le shortcode [member login] dans un article ou page. Par contre impossible d’insérer de shortcode dans le code PHP.
Je voudrais avoir une ligne $login = [member login] ;Mais ceci provoque cette erreur :
Parse error: syntax error, unexpected ‘
6 août 2013 à 16 h 43 min #906908Pour retrouver l’usager en PHOP, il faut utiliser une fonction wordpress : http://codex.wordpress.org/Function_Reference/get_userdata
6 août 2013 à 17 h 23 min #906909Je ne connaissais pas cette fonction.
Par contre si je ne me trompe pas elle récupère les infos de la table wp_users.
Or je gère un espace membre sur mon site avec membership manager et donc ce plugin dispose de sa propre table dans la base de données.6 août 2013 à 20 h 55 min #906910Je suis prêt à me lancer dans l’adaptation de la fonction get_userdata pour qu’elle s’applique sur la table que je souhaite.
Où puis-je trouver les fonctions ?J’ai cherché dans wp-content > themes > graphene > à cet endroit j’ai un fichier functions.php mais il ne coporte que des include
merci encore pour votre aide
6 août 2013 à 20 h 57 min #906911Etes-vous certain que ce plugin stocke les users dans sa table de données ? Vérifiez avec phpMyAdmin !
6 août 2013 à 21 h 00 min #906912oui j’ai été voir. Le plugin crée 4 tables qui ont le prefixe WordPress + le prefixe du plugin :
wp_membership_manager_members
wp_membership_manager_members_areas
wp_membership_manager_members_areas_categories
wp_membership_manager_members_categories6 août 2013 à 21 h 15 min #906913Avez-vous regardé dedans ainsi que dans wp_users ?
6 août 2013 à 21 h 59 min #906914Dans wp_users j’ai seulement admin
Dans wp_membership_manager_members j’ai un seul membre que j’ai créé moi même depuis le formulaire de création de membre en front-end.Lorsque j’utilise la fonction get_userdata et que je suis connecté comme admin il fonctionne bien. (je lui ai fait une mini fonction test style « hello admin »
par contre lorsque je suis connecté à l’espace membre il me met bien le hello mais le login par derrière reste vide.7 août 2013 à 6 h 19 min #906915Bon, alors il vous faut faire une requête SQL sur les tables de données du plugin.
Je suis surpris qu’un concepteur de plugin shunte le fonctionnement normal de WordPress au lieu de lui apporter des fonctionnalités, à mon avis, c’est une erreur de conception du plugin qui vous rend dépendant de lui ainsi que de ses mises à jour !
Il vous reste à espérer qu’il ne devienne jamais payant !7 août 2013 à 9 h 38 min #906916il l’est déjà…
ce que je ne comprends pas c’est que les fichiers installés sont peu nombreux et pas très fournis en code… je vais m’y replonger mais j’ai des doutes…
le plugin est à l’essai, il y a 30 jours satisfait ou remboursés, donc je me donne encore 15 jours de testPar contre le plugin a cette fonction, si j’utilise [mamber login] dans un article il le remplace en front-end par la login de l’utilisateur.
C’est cette fonction là que je cherche…7 août 2013 à 9 h 49 min #906917Il vous suffit de trouver le code de ce short-code dans les fichiers du plugin !
7 août 2013 à 10 h 13 min #906918Je vais y retourner alors…
Par contre je n’ai jamais codé de fonction dans WordPress ou un de ses plugins.En tout cas merci pour le temps que vous avez passé à me répondre !
7 août 2013 à 12 h 58 min #906919J’ai trouvé !
Le plugin dans ses options permet de faire en sorte que les utilisateurs soient inscrits sur la table wp_membership_manager_members et en parallèle sur wp_users également.Du coup, la fonction get_currentuserinfo(); me permet de récupérer le login du membre connecté.
Encore une fois merci pour vos réponses et le temps passé sur mon problème.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.