1

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

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

<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>
4

2 回答 2

0

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

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

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

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

希望这可以帮助。

于 2013-02-23T03:51:34.690 回答
0

弄清楚了。我刚刚删除了上面的所有代码并将其替换为

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

像魅力一样工作。

于 2013-02-23T04:13:48.670 回答