繁体   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