WordPress : Ajouter les enfants de la page actuelle à un menu existant

Publié par Jean-Michel le

J’ai un menu qui affiche le premier niveau de pages enfants d’une page de niveau supérieur. Je dois maintenant ajouter une fonctionnalité. Désormais, si un utilisateur accède à l’une de ces pages enfants, je souhaite que les pages enfants de la nouvelle page soient également incluses dans le menu.

For example, the menu would look like this if you were on the top level page:
<ul>
  <li>Item one</li>
  <li>Item two</li>
  <li>Item three</li>
  <li>Item four</li>
</ul>
If you navigate to one of those pages, say Item two, the menu should now look like this:
<ul>
  <li>Item one</li>
  <li>Item two
    <ul>
      <li>Child Item one</li>
      <li>Child Item two</li>
      <li>Child Item three</li>
    </ul>
  </li>
  <li>Item three</li>
  <li>Item four</li>
</ul>

And ideally, if you selected one of those child pages, say for example Child Item two:
<ul>
  <li>Item one</li>
  <li>Item two
    <ul>
      <li>Child Item one</li>
      <li>Child Item two
        <ul>
          <li>Child of Child Item two</li>
        </ul>
      </li>
      <li>Child Item three</li>
    </ul>
  </li>
  <li>Item three</li>
  <li>Item four</li>
</ul>

Le débordement de pile m’a fait formater ma liste en tant que code. Le système de puces intégré ne me permettait pas de faire des puces assez profondes.

Est-ce que quelqu’un sait comment faire cela dans wordpress?

Merci.

Solution n°1 trouvée

On dirait que vous demandez ceci (tiré de la documentation WP ici):

 <?php
  $output = wp_list_pages('echo=0&depth=1&title_li=<h2>Top Level Pages </h2>' );
  if (is_page( )) {
      $page = $post->ID;
      if ($post->post_parent) {
          $page = $post->post_parent;
      }
      $children=wp_list_pages( 'echo=0&child_of=' . $page . '&title_li=' );
      if ($children) {
           $output = wp_list_pages ('echo=0&child_of=' . $page . '&title_li=<h2>Child Pages</h2>');
      }
   }
  echo $output;
 ?>

Solution n°2 trouvée

Voici la réponse : http://www.456bereastreet.com/archive/201010/creating_a_hierarchical_submenu_in_wordpress/

Cette page est liée à une autre page avec une manière différente de le faire : http://wordpress.mfields.org/2010/selective-page-hierarchy-for-wp_list_pages/

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *