[Résolu] Executer du PHP dans mes pages/posts (Créer un compte)

  • Statut : non résolu
13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • #527130
    aoso33
    Participant
    Initié WordPress
    28 contributions

    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 ‘

    #906908
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Pour retrouver l’usager en PHOP, il faut utiliser une fonction wordpress : http://codex.wordpress.org/Function_Reference/get_userdata

    #906909
    aoso33
    Participant
    Initié WordPress
    28 contributions

    Je 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.

    #906910
    aoso33
    Participant
    Initié WordPress
    28 contributions

    Je 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

    #906911
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Etes-vous certain que ce plugin stocke les users dans sa table de données ? Vérifiez avec phpMyAdmin !

    #906912
    aoso33
    Participant
    Initié WordPress
    28 contributions

    oui 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_categories

    #906913
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Avez-vous regardé dedans ainsi que dans wp_users ?

    #906914
    aoso33
    Participant
    Initié WordPress
    28 contributions

    Dans 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.

    #906915
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Bon, 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 !

    #906916
    aoso33
    Participant
    Initié WordPress
    28 contributions

    il 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 test

    Par 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…

    #906917
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Il vous suffit de trouver le code de ce short-code dans les fichiers du plugin !

    #906918
    aoso33
    Participant
    Initié WordPress
    28 contributions

    Je 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 !

    #906919
    aoso33
    Participant
    Initié WordPress
    28 contributions

    J’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.

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