如果菜单包含子菜单到wp_nav_menu中,如何添加<i>项目

时间:2019-06-28 21:31:30

标签: php wordpress menu

我有这种类型的菜单,我希望将此菜单转换为wp_nav_menu

<li><a href="#">menu ab</a></li>                                
<li ><a href="#">menu bc<i class="hover-ind fa fa-angle-down" aria-hidden="true"></i></a></li>
<ul class="sub-menu">
<li><a href="#">sub menu ab</a></li>
</ul>

如您所见,菜单是否具有子菜单,那么我必须添加<i></i>代码段以显示具有特定菜单的向下箭头。

所以我正在尝试,如果菜单具有子菜单,则将带有锚链接的<i></i>添加到li中。

如果菜单具有此代码的子菜单,我可以向li添加属性:

add_filter( 'nav_menu_link_attributes', 'wpse154485_add_aria_haspopup_atts', 10, 3 );
function wpse154485_add_aria_haspopup_atts( $atts, $item, $args ) {
  if (in_array('menu-item-has-children', $item->classes)) {
    $atts['aria-haspopup'] = 'true';
  }
  return $atts;
}

但是如果菜单包含子菜单,我需要添加一个<i></i>代码段。如果有人对此有所帮助,请提供帮助。

TIA

2 个答案:

答案 0 :(得分:0)

您需要修改Walker_Nav_Menu才能添加HTML标记。 请查看下面的GitHub链接以获取示例代码。

https://github.com/wp-bootstrap/wp-bootstrap-navwalker

答案 1 :(得分:0)

我已经解决了这个问题。可能是如果将来有人在寻找答案,那么我的解决方案可以为他们提供帮助。我在这里找到了一个博客,该博客正是针对下拉指示器解决方案的。 http://dksolution.in/add-dropdown-arrow-indicators-to-wordpress-menu-items-that-have-submenus/