带有Accordian的“Static”子菜单

时间:2014-01-30 作者:Nathan S

我想创建一个子菜单,Wordpress codex中的任何示例似乎都不像我想创建的那样。

我有一个主水平导航栏,这很好。当单击顶级页面时,我希望侧栏菜单显示手风琴效果,以便浏览子页面;但是,当访问子页面时,我不希望侧栏菜单重置为显示下一层作为首页。。。如果这有意义:

下面是一个JSFIDLE来演示我的意思:http://jsfiddle.net/DY8Fk/

如果要单击顶部导航栏中的主导航链接,它会显示带有子菜单的页面。No matter what page you visit within that sub menu, the sub menu doesn\'t change.

我想使用CSS在导航菜单中突出显示当前页面,并可能添加手风琴效果。

任何帮助都将不胜感激!

1 个回复
SO网友:Nathan S

我已经弄明白了。我认为Wordpress Codex中的一个例子应该是解决方案,但根本不起作用。

以下是对我有效的方法:

               <?php
                    if ($post->post_parent) {
                    $ancestors=get_post_ancestors($post->ID);
                    $root=count($ancestors)-1;
                    $parent = $ancestors[$root];
                    } else {
                        $parent = $post->ID;
                    }
                        $children = wp_list_pages("title_li=&child_of=". $parent ."&echo=0");
                        if ($children) { ?>
                        <h3><?php echo get_the_title($parent); ?></h3>
                        <ul id="subnav">
                            <?php echo $children; ?>
                        </ul>
               <?php } ?>
然后输出:

About Us

Our Mission
Strategic Plan
Our History
    History of Oak Hall
“关于我们”是一个标题,使用最顶层父页的标题。无论您在该子菜单中选择哪个页面,下面的菜单都是静态的。

然后使用一些CSS样式来指示当前页面并分隔这些子页面的子页面。

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&