簡體   English   中英

自定義Wordpress菜單結構

[英]Custom Wordpress menu structure

我是Wordpress的新手,為我的主導航菜單編寫了自定義結構,因為我需要能夠將列放入子菜單div中。 但是,我的代碼無法正常工作:

            <div class="menu-menu-1-container">
          <ul id="menu-menu-1" class="menu">

            <?php
            $menuname = wp_get_nav_menu_object("Menu 1" );
            $menu_name = $menuname->name;
            $locations = get_nav_menu_locations();
            $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
            $menuitems = wp_get_nav_menu_items( $menu->term_id, array( 'order' => 'DESC' ) );

            $count = 0;
            $submenu = false;

            foreach( $menuitems as $item ):
                    // set up title and url
              $title = $item->title;
              $link = $item->url;

              // item does not have a parent so menu_item_parent equals 0 (false)
              if ( !$item->menu_item_parent ):
              // save this id for later comparison with sub-menu items
                $parent_id = $item->ID;
            ?>

                <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children">
                  <a href="<?php echo $link; ?>"><?php echo $title; ?></a>

                  <?php

                  endif;

                  if ( $parent_id == $item->menu_item_parent ):
                    if ( !$submenu ): $submenu = true; ?>

                      <ul class="sub-menu">

                      <?php endif; ?>

                      <li class="menu-item menu-item-type-post_type menu-item-object-page">
                        <a href="<?php echo $link; ?>"><?php echo $title; ?></a>
                      </li>
                      <?php if ( $menuitems[ $count + 1 ]->menu_item_parent != $parent_id && $submenu ): ?>

                        </ul>

                      <?php
                      $submenu = false; endif;
                      endif;
                      ?>

              <?php if ( $menuitems[ $count + 1 ]->menu_item_parent != $parent_id ): ?>
                </li>

                <?php
                $submenu = false; endif;
                $count++; endforeach;
                ?>


          </ul>
        </div>

目前根本沒有顯示菜單,我檢查了拼寫菜單名稱的正確性和是否做到了。 有人可以看到我在做什么嗎?

WordPress有一個簡單的菜單查詢。

<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>

您可以從https://developer.wordpress.org/reference/functions/wp_nav_menu/閱讀更多信息。您可以使用CSS和javascript輕松調整此設置。 但是,就像@ akshay-shah狀態一樣,如果您希望使用bootstrap之類的CSS框架,則可以使用nav walker類。 參考: https : //github.com/wp-bootstrap/wp-bootstrap-navwalker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM