如何获取根li元素的标题

时间:2015-05-03 作者:Eddy

我想从孩子们那里获取顶级菜单的所有信息

<li class="l-nav-item dropdown"><button class="open-icon visible-xs fa fa-angle-down"></button><a href=" ">Home</a>
            <ul class="dropdown-menu l-nav-sublist">
              <li class="l-nav-subitem"><a href="">Home Style I</a></li>
              <li class="l-nav-subitem dropdown"><button class="open-icon visible-xs fa fa-angle-down"></button><a href="">Home Style II</a>
                <ul class="dropdown-menu l-nav-sublist">
                  <li class="l-nav-subitem"><a href="">Home Style I</a></li>
                  <li class="l-nav-subitem"><a href="">Home Style II</a></li>
                  <li class="l-nav-subitem"><a href="">Home Style Portfolio</a></li>
                  <li class="l-nav-subitem dropdown"><button class="open-icon visible-xs fa fa-angle-down"></button><a href="">Home Style II</a>
                    <ul class="dropdown-menu l-nav-sublist">
                      <li class="l-nav-subitem"><a href="">Home Style I</a></li>
                      <li class="l-nav-subitem"><a href="">Home Style II</a></li>
                      <li class="l-nav-subitem"><a href="">Home Style Portfolio</a></li>
                      <li class="l-nav-subitem"><a href="">Subitem</a></li>
                    </ul>
                  </li>
                </ul>
              </li>
              <li class="l-nav-subitem"><a href="">One Page Home</a></li>
              <li class="l-nav-subitem"><a href="">Without Header</a></li>
            </ul>
          </li>
我想根据li子元素的顶级父元素输出它们。我使用一个名为

$item->megamenu
此字段仅出现在顶部li元素上。例如

 if($item->megamenu == 1 ) {
  do something
 }
但这对孩子没用所以我需要

 if($theparentitem->megamenu == 1) {

 }
其中,$theparentitem是$项的顶级父项

2 个回复
最合适的回答,由SO网友:Eddy 整理而成

我已经找到了其他替代方法

在walker的顶部,我创建了一个变量

private megamenu_state;
比我的助行器

if($depth == 0){
  $this->megamenu_state = $item->megamenu;
}
因此,变量将获取顶层的状态。

SO网友:Nicolai Grossherr

简而言之,假设您使用助行器构建菜单。E、 g.定制start_el() 方法$item 应该是一个对象,有点像$post 对象

反过来,也就是说,您可以访问post_parent 所有物有了这些信息,您可以使用get_the_title() 容易地

编辑后,我看到您想要顶级家长。所以get_ancestors() 能帮你找到最好的父母。$item->ID 可用作$object_idnav_menu_item$object_type. get_ancestors() 返回数组。使用array_reverse 在上面有顶级祖先ID at索引0.

结束