如果项目在自定义菜单结构中具有子菜单,则为类列出项目

时间:2017-10-26 16:29:06

标签: wordpress menu submenu

我在第一个Wordpress主题中为我的主菜单制作了自定义结构。到目前为止,这是我的代码:

<ul class="nav navbar-nav">

    <?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 href="<?php echo $link; ?>">
    <?php echo $title; ?>
       </a>
    <?php endif; ?>

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

    <ul class="dropdown-menu">

    <?php endif; ?>

    <li>
    <a href="<?php echo $link; ?>" ><?php echo $title; ?></i></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; ?>
</ul>

目前它生成我想要的菜单,除了我希望子菜单父母拥有的特定课程。

包含子菜单的Foreach列表项,我希望它具有类&#34; hasSubmenu&#34;。我如何使这项工作?

1 个答案:

答案 0 :(得分:0)

为什么不使用与添加子菜单相同的代码将类添加到子菜单父级?这是代码:

<?php if ( !$submenu ): $submenu = true; ?>

<ul class="dropdown-menu">

<?php endif; ?>

所以在你的李项目中添加这样的东西......

<li class="
    <?php if ( !$submenu ): $submenu = true; ?>

    <?php echo "hasSubmenu"; ?>

    <?php endif; ?>
">

希望有所帮助!