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

理解した。上記のコードをすべて削除して、

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

魅力のように働きました。

于 2013-02-23T04:13:48.670 に答える
0

まったく新しいテンプレートまたは特定のページだけにメニューをロードしようとしていますか?

これに対する (単純な) アプローチの 1 つは、新しいページ テンプレートと新しいヘッダーの両方を作成することだと思います。次に、新しいページ テンプレート (CMS の管理パネルで選択可能) に、新しい (カスタム) ヘッダーも呼び出すように指示するだけです。

これがどのように行われるかについての素晴らしい説明はここにあります:

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

お役に立てれば。

于 2013-02-23T03:51:34.690 に答える