Materializecss wordpress 移动侧边菜单在一个可折叠的


Materializecss wordpress mobile side menu in a collapsible

我一直在尝试使用MaterializeCSS制作wordpress主题。我几乎可以正常工作,除了我的移动侧菜单。在我的菜单中,我有 4 个主要项目,它们下面有子页面。我想在侧边菜单中以相同的方式显示它,使用"可折叠"类。在我不动态创建菜单项的测试环境中,我可以让它工作,但是每当我想让 Wordpress 创建的菜单时,我都无法实现它。

我知道我应该使用导航步行者,我已经摆弄了几个小时,但我无法让它工作。

我想要的摆弄:https://jsfiddle.net/bdf7yvbc

<ul class="collapsible collapsible-accordion">
  <li>
    <a class="collapsible-header">MSG</a>
    <div class="collapsible-body">
      <ul>
        <li><a href="bestuur.php">Bestuur</a></li>
        <li><a>Commissies</a></li>
        <li><a>Agenda</a></li>
      </ul>
    </div>
  </li>
</ul>

我终于设法做到了,同时不使用wp_nav_menu和助行器,而是使用wp_get_nav_menu_items。

我的代码,如果有人感兴趣:

<?php
$menu_name = 'Side-Nav'; //Name as shown in Appearance -> Menus
if ( ($menu = wp_get_nav_menu_object( $menu_name ) ) && ( isset($menu) ) ) {
  $menuitems = wp_get_nav_menu_items($menu->term_id);
  ?>
  <ul class="collapsible collapsible-accordion">
    <?php
    $count = 0;
    $submenu = false;
    foreach( $menuitems as $item ):
        $link = $item->url;
        $title = $item->title;
        // 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>
      <a class="collapsible-header"><?php echo $title; ?></a>
      <div class="collapsible-body">
        <ul>
          <li><a href="<?php echo $link; ?>">
            <?php echo $title; ?>
        </a></li>
    <?php endif; ?>
        <?php if ( $parent_id == $item->menu_item_parent ): ?>
                <li>
                    <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; ?>
        <?php endif; ?>
    <?php if ( $menuitems[ $count + 1 ]->menu_item_parent != $parent_id ): ?>
    </li>                           
    <?php $submenu = false; endif; ?>
<?php $count++; endforeach; }?>