将当前页面的子项添加到现有菜单

时间:2011-12-20 01:38:31

标签: wordpress wordpress-theming

我有一个菜单,显示顶级页面的第一级子页面。我现在需要添加一个功能。现在,如果用户导航到其中一个子页面,我希望新页面的子页面也包含在菜单中。

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>

堆栈溢出使我将列表格式化为代码。内置的子弹点系统不会让我足够深入制作子弹点。

有谁知道如何在wordpress中执行此操作?

感谢。

2 个答案:

答案 0 :(得分:0)

听起来你要求这个(取自WP documentation here):

 <?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;
 ?>

答案 1 :(得分:0)