不同页面上的不同菜单

时间:2013-02-23 03:07:09

标签: php wordpress header

尝试在不同的页面上使用不同的导航菜单。我的主题不允许我编辑功能页面。我创建了一个新的标题模板和页面模板。我想更改新标题模板中使用的菜单,但我不明白下面代码的含义,所以我不确定要改变什么。

我正在努力学习,所以有人可以帮助翻译这段代码的含义吗?

<ul id="menu-hosting-menu" class="curved">
                    <?php if ( is_page() ) $highlight = 'page_item'; else $highlight = 'page_item 

current_page_item'; ?>
                    <li class="<?php echo $highlight; ?> menu-item menu-item-type-custom menu-item-object-custom"><a href="<?php echo home_url( '/' ); ?>">Home</a></li>
                    <?php wp_list_pages( 'sort_column=menu_order&depth=3&title_li=&exclude=' ); ?>
                </ul><!-- /#nav -->
                <?php }  ?>

                 <select> 
                    <option value="" selected="selected">Select</option> 
                    <?php
                    $menu_name = 'primary-menu'; //same as theme_location
                    if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ 

 $menu_name ] ) ) {
                        $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
                        $menu_items = wp_get_nav_menu_items($menu->term_id);
                        var_dump($menu_items);
                        foreach ( (array) $menu_items as $key => $menu_item ) {
                            $title = $menu_item->title;
                            $url = $menu_item->url;
                            if($menu_item->menu_item_parent){
                                $title = '-- '.$title;
                            }
                            $menu_list .= '<option value="' . $url . '">' . $title . 

 '</option>'; 
   }} else {
                        $menu_list .= '<option  value="">Menu "' . $menu_name . '" not 

defined.</option>';
                    }
                    echo $menu_list;
                    ?>
                  </select> 



        </nav>

2 个答案:

答案 0 :(得分:0)

您是要尝试在全新模板上加载菜单,还是仅在特定页面上加载菜单?

我想一个(简单)方法就是创建一个新的页面模板和一个新的标题。然后,您只需告诉新的页面模板(可在CMS的“管理”面板中选择),也可以调用新的(自定义)标题。

可以在这里找到关于如何做到这一点的一个很好的解释:

http://reflectingthedesigner.com/wordpress/2011/10/24/creating-a-new-wordpress-page-template/

希望这有帮助。

答案 1 :(得分:0)

想出来。我刚刚删除了上面的所有代码并将其替换为

<?php wp_nav_menu( array('menu' => 'Hosting' )); ?>

像魅力一样工作。