向带有子项的 Wordpress 导航项添加一个额外的元素



我有一个嵌套的下拉列表。在有孩子的元素上,我想在链接文本旁边添加一个 V 形。当前的 HTML 如下所示:

<ul class="primary-menu">
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has- 
children menu-item-59">
<a href="#">Europe</a>
<ul class="sub-menu"></ul>
</li>
</ul>

我想使用add_filter钩子将此标记转换为:

<ul class="primary-menu">
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has- 
children menu-item-59">
<div>
<a href="#">Europe</a>
<img src="chevron.svg">
</div>
<ul class="sub-menu"></ul>
</li>
</ul>

我希望找到一个过滤器,可以向我返回一系列菜单项。如果菜单项具有"菜单项有子项"类,我想更改项中的 HTML。

您可以使用walker_nav_menu_start_el钩子。
使用菜单的实际名称或删除条件 - is_nav_menu("移动菜单"(。

add_filter( 'walker_nav_menu_start_el', 'parent_menu_dropdown', 10, 4 );
function parent_menu_dropdown( $item_output, $item, $depth, $args ) {
if ( is_nav_menu( 'Mobile Menu' ) && ! empty( $item->classes ) && in_array( 'menu-item-has-children', $item->classes ) ) {
return $item_output . '<img src="chevron.svg">';
}
return $item_output;
}

相关内容

最新更新