Gérer une navigation par pages et utilisation de wps_list_pages (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #459539
    Sonny Beaumont
    Membre
    Initié WordPress
    1 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.5.1 fr
    – Thème utilisé : Default Theme (Kubrick)
    – Plugins en place : aucun
    – Nom de l’hebergeur : –
    – Adresse du site : –

    Problème(s) rencontré(s) :
    Je suis en pleine découverte de WordPress et la personnalisation des thèmes. Je pense que mon soucis a déjà dû être évoqué plus d’une fois, mais je n’arrive pas à mettre la main sur un post qui en parlerait…

    Je conçois un site en ne faisant usage que des Pages et non des billets. pour cela j’ai recréé une arbo en écrivant une série de pages « mères » (des sous-homes) et auxquelles j’ai associé plusieurs pages enfants ce qui donne comme arborescence :

    Page 0 (la page d’accueil générale)

    Page 1
    Page 1.1
    Page 1.2
    Page 1.3
    … etc …

    Page 2
    page 2.1
    Page 2.1.1
    Page 2.1.2
    Page 2.1.3
    … etc …
    page 2.2
    Page 2.2.1
    Page 2.2.2
    Page 2.2.3
    … etc …

    Page 3
    Page 3.1
    Page 3.2
    Page 3.3
    … etc …

    Et maintenant ce que j’aimerai arriver à faire au niveau de la navigation :

    Lorsque je suis sur ma page d’accueil générale j’aimerai avoir un menu qui ressemble à ça :

    Menu
    >> Accueil (que je peux mettre en « dur »)
    >> Page 1
    >> Page 2
    >> Page 3

    Pour cela je peux y arriver grâce à wp_list_pages(‘title_li=

    Menu

    &exclude=3&depth=1′), par contre, là où je sèche, c’est lorsqu’il faut s’attaquer aux sous-homes.

    Lorsque je suis dans la sous-home 1 :

    Menu
    >> Accueil
    >> Page 1
    >> Page 1.1
    >> Page 1.2
    >> Page 1.3
    … etc …
    >> Page 2
    >> Page 3

    Et enfin lorsque je suis dans la sous home 2 :

    Menu
    >> Accueil
    >> Page 1
    >> page 2
    >> page 2.1
    >> Page 2.2
    >> Page 3

    ou encore :

    Menu
    >> Accueil
    >> Page 1
    >> page 2
    >> page 2.1
    >> Page 2.1.1
    >> Page 2.1.2
    >> Page 2.1.3
    … etc …
    >> Page 2.2
    >> Page 3

    Voilà mon soucis 🙂 A priori, wp_list_pages ne permet de faire ainsi dans son utilisation « classique », mais j’arrive pas à voir comment contourner ça.

    Par avance, Merci

    Sonny

    #630105
    FelipeA
    Participant
    Initié WordPress
    14 contributions

    Bonjour,

    J’utilise aussi WP comme CMS (que des Pages, pas de billets) mais sans menu déroulant donc je vais pas pouvoir t’aider sur le fond du problème.
    Si tu n’arrives pas à contourner le problème, tu peux utiliser un menu qui par défaut (sans Javascript) reste entièrement ouvert:
    1
    1.1
    1.2
    2
    2.1
    2.2
    etc
    et avec JS actif (la majorité des ordinateurs), referme tous les sous-menus sauf celui actif (ce que tu recherches).
    C’est du JS non obstrusif comme il (le) fau(drai)t. Perso, pour l’onglet actif j’utilise le plug-in wp-pagesnav mais j’ai fait ça à la va-vite (voire à la truelle :rolleyes: )

    #630106
    jmini
    Membre
    Chevalier WordPress
    220 contributions

    Tu as la possibilité d’ajouter des arguments du genre :
    child_of dans wp_lists_pages()
    et comme tu peux aussi récupérer l’id de la page active…

    regarde ce que fait la fonction :
    wp_dropdown_pages()
    http://codex.wordpress.org/Template_Tags/wp_dropdown_pages

    Une autre solution de pour masquer / afficher est peut être d’utiliser le css…

    A quoi ressemble le code produit par wp_lists_pages() ?
    est ce qu’il place des class et des id dans les balise html de listes ???

    #630107
    FelipeA
    Participant
    Initié WordPress
    14 contributions

    Le 2ème plug-in décrit dans Five WordPress “CMS Enabling” Plugins (Fold Page List) pourra peut-être t’intéresser par la suite.

4 sujets de 1 à 4 (sur un total de 4)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.