Wordpress中可交换的二级菜单

时间:2012-02-01 13:10:17

标签: wordpress submenu

我今天开始使用WP,并且正在尝试进行一些自定义以满足我的需求。

我选择了一个带有2个菜单的主题,让我们将其称为“mid”菜单。

所以我们假设main(顶层菜单)包含: (主页,网站,应用程序,照片,联系人)

然后,我想为第一个选择提供不同的菜单 为家 - 没有二级菜单 for Webs - “Mid1”菜单,链接到页面(web1,web2,web3,web4 ......) for Apps - “Mid2”菜单,包含指向页面的链接(App1,App2,App3,App4 ......) for Photos - “Mid3”菜单,包含指向页面的链接(Gallery1,Gallery2,Gallery3,Gallery4 ......) 用于联系人 - 没有二级菜单

是否有这样的插件可以处理这个或者我应该放一些if - 然后在代码的某处?

的Tx。

1 个答案:

答案 0 :(得分:0)

我会使用WordPress的内置页面heirarchy,然后根据heirarchy生成子菜单。

因此,您需要将每个子页面与其父级相关联,您可以在WordPress编辑器的右侧边栏上执行该操作,或者使用像PageMash这样的拖放插件:

  • 主页
    • 腹板
      • Web 1
      • Web 2
      • Web 3
      • Web 4
    • 应用程序
      • App 1
      • App 2
      • App 3
      • App 4
    • 照片
      • 图库1
      • 图库2
      • 图库3
      • 图库4
    • 联系人

然后,在模板中添加一些代码(可能是page.php)以列出当前页面的子代。你可能不得不调整它以获得你想要的东西,这只是为了让你开始:

<?php
    /* List the child pages */
        if ($post->post_parent) {
           $ancestors=get_post_ancestors($post->ID);
           $root=count($ancestors)-1;
           $parent = $ancestors[$root];
         } else {
           $parent = $post->ID;
         }

          $parent_title = get_the_title($post->post_parent);
          $children = wp_list_pages("title_li=&child_of=". $parent ."&echo=0");

          if ($children) { ?>

              <ul>
                 <?php echo $children; ?>
              </ul>
           <?php }
                /* If there are no children, do something else, or nothing */
                else { } ?>