确定父菜单WP Nav Walker的最后一个子菜单

时间:2017-08-07 作者:dbybanez

有没有办法添加一个条件来知道导航助行器的当前项是菜单的最后一个子项还是父项?

| Item 1      | Item 2      |
| - Item 1.1  | - Item 2.1  |
| - Item 1.2  | - Item 2.2  |
| - Item 1.3  |<----------------- Determine if current item is last child 
例如:

if ($item->last_child(of_current_parent) {
   ...
}
那么,如何确定当前项是否是其同级项的最后一个子项?

编辑:尝试以下操作解决了我的问题:https://wordpress.stackexchange.com/a/49005/91164但是为了满足我的需要,我不得不改变了很多逻辑。请参见下面我的答案。

2 个回复
SO网友:Nuno Sarmento

下面的代码未经测试,但它是您所需的良好开端。您需要在主题上声明Walker类,然后在下面的函数上进行扩展。

class My_Walker_Nav_Menu extends Walker_Nav_Menu {
  function start_el(&$output, $item, $depth, $args) {
   ...

  if($args[\'has_children\']) {
  // I know what to do here


  }
 }
}

SO网友:dbybanez

好的,我用这个链接解决了我的问题:https://wordpress.stackexchange.com/a/49005/91164该示例仅显示如何将类添加到其同级的最后一个子级。但我想做的是修改最后一个子项的显示方式。

虽然这是最接近我所寻找的,但我只需要修改代码的一些逻辑。

我还遇到了一些显示项目标题的问题。我所做的是$item, 我用过$element 在里面function display_element(). 例如(检索项目的url):$element->url 而不是$item->url.

结束

相关推荐

如何为物化框架制作wp_NAV_Menu()的自定义Walker

我试图用materialize框架来创建WordPress主题,但我真的被导航栏部分弄糊涂了。我在互联网上搜索过,但没有找到任何东西,似乎没有人使用materialize。我发现的唯一一件事就是用nav\\u walker制作,就像在bootstrap中一样,但我不知道如何使用materialize。UPDATE:这是我的导航条形码; <div class=\"navbar\"> <nav> <div class