Où sont stockés les MENUS dans la BDD de WordPress (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 18)
  • Auteur
    Messages
  • #501573
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Bonjour,

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

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

    Bonjour,
    Afin de modifier mon plugin de stats, je souhaiterais pouvoir regrouper les pages qui sont dans un même menu, en ajoutant simplement leur nombre de visiteurs, pages vues, etc.
    J’ai cherché dans la BDD de mon site et je n’ai pas vu mpes menus personalisé dans cette BDD, j’ai dû mal chercher.
    Ma question est la suivante, où sont stockés les menus personnalisés dans la BDD de WordPress ? Dans quelle table ? Leur nom, les pages qui les composent.

    Merci de votre aide

    #800170
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    C’est dans la table wp-posts avec un post_type

    nav_menu_item

    .

    #800171
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Merci

    #800172
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    J’ai regardé la table post, j’ai trouvé les post_type nav_menu_item, mais ce que je ne comprends pas, c’est qu’aucun enregistrement de ma table wp_post n’a le titre des mes menus personalisés comme « LE SEVRAGE » « LES ADDITIFS DU TABAC », « LE PAPIER », « PHOTOS », etc.
    Apparemùent, les post_type nav_menu_item sont les pages attachées au menu, mais les MENUS eux-même, je ne trouve pas à quel endroit leur nom et leurs caractéristiques sont enregistrées, ce doit bien être quelque part ?
    mais où ?

    😉

    #800175
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    Il y a des infos dans la table wp_postmeta, pour chaque entrée du menu dans la table wp-posts (le parent par exemple) J’avoue que j’ai renoncé il y a quelques mois à utiliser les menus personnalisés de WordPress.

    Mais tu parles de noms qui font référence à quoi en particulier ? Une catégorie ? Un article page ? ou une autre entrée ? On peut mettre un peu n’importe quoi dans les menus… (perso je n’utilisais que les pages dans mes menus je n’ai jamais essayé de mettre une catégorie par exemple)

    #800176
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    En fait ce sont des menus personnalisés qui ne font référence à aucune catégorie, mais à des thèmes qui se retrouvent parmis les pages statiques de mon site, alors je les ai regroupées en MENU en donnant un titre comme  » LE PAPIER » « LE SEVRAGE », dans chaque menu il y a plusieurs pages qui sont dans la table post.
    Je vais aller chercher dans la tabal wp_post_meta et vous dit si j’y ai trouvé le TITRE et la commposition (liste des pages) des MENUS.
    Merci

    #800177
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Bon,
    j’ai fini par trouver les titres des menus dans la table TERM, mais pas leur composition, qui m’échappe complètement, je ne sais toujours pas où est défini la liste des pages qui composent un MENU.

    J’ai vu que dans la table POST, la colonne menu_order est le numéro de la page dans le menu, mais je ne sais pas où se trouve l’info disant quel est ce menu…

    Cherchons…

    #800178
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Je progresse, dans la table term_relationship, l’item term_taxonomy_id correspond au numéro du TITRE du menu dans la table TERM.
    Objet_id est le numéro des pages qui composent le menu dans la table POST. Ainsi les objet_id ayant le même term_taxonomy sont des pages du même menu.

    Dans la table term_taxonomy, la colonne taxonomy indique si le term est un menu (nav_menu_item), une catégorie (category), etc…

    Petits à petit, je décode le code…

    #800173
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Bon,
    le problème désormais est de trouver le slug (titre URL) des pages du menu.

    En effet, le numero ID de la page du menu de la table POST ne donne pas le titre de la page, seulement son contenu, pourtant, quand on clique sur une page du menu, on accède à la page qui a un titre (slug), je n’ai pas encore compris comment remonter jusqu(au TITRE (slug) de la page du menu, je cherche…

    #800174
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Apparemment l’url des pages du menu est donné pour certaines pages de certains menu pas pour tous les menus.
    Tantôt le post_name » est un numéro et alors comment trouver le slug (URL) tantôt le slug écrit normalement en caractère latin.

    Je n’y pige rien….

    #800179
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Bon, je progresse, après de laborieuses recherches, lorsque la page du menu ne donne pas le titre (item post_name) dans la table post, mais un numéro, pour obtenir le titre (post_name de la page), il faut aller regarder dans la table post_meta où l’item _menu_item_object_id donne le numéro du post ou de la page dans la table post. Il suffit ensuite de trouver ce nom et donc le slug dans la table post avec ce numéro.

    Je trouve que la gestion des menus sous WordPress est pour le moins complexe, car faire un programme qui liste les slugs de toutes les pages d’un menu, va demander à faire beaucoup de lectures dans la BDD de WordPress.

    Enfin, bref, on fera avec.

    #800180
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    Je trouve que la gestion des menus sous WordPress est pour le moins complexe, car faire un programme qui liste les slugs de toutes les pages d’un menu, va demander à faire beaucoup de lectures dans la BDD de WordPress.
    Enfin, bref, on fera avec.

    J’ai fait sans… Ou plus exactement avec une extension :D
    En attendant de voir si des améliorations significatives sur le sujet viendront avec la version 3.3.

    #800181
    luciole135
    Participant
    Maître WordPress
    13714 contributions
    fge wrote:
    J’ai fait sans… Ou plus exactement avec une extension :D
    En attendant de voir si des améliorations significatives sur le sujet viendront avec la version 3.3.

    Quelle extension ? que je copie son code !
    Merci !

    #800182
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    J’utilise Multi-level Navigation Plugin… Mais mieux vaut lire la licence pour s’assurer que le code puisse être réutilisé 🙂

    #800183
    luciole135
    Participant
    Maître WordPress
    13714 contributions

    Merci, je vais regarder la licence de près

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