将属性添加到 bootstrap nav walker ul

Adding attribute to bootstrap nav walker ul

我正在为一个 wordpress 网站使用 bootstrap nav walker 并尝试重新创建一个高级主题(只是临时的)以便匹配他们的标记以节省时间。

我需要向 <ul> 添加一个属性,以便它 <ul data-plugin="menu">... 但我看不到任何可以帮助我如何做到这一点的东西。我可以看到如何将属性添加到菜单链接而不是菜单本身(不通过 jQuery 等添加)。

我的菜单输出非常简单:

<?php
wp_nav_menu( array(
    'menu'       => 'top',
    'depth'      => 2,
    'container'  => false,
    'menu_class' => 'site-menu scrollable-content',
    'walker'     => new wp_bootstrap_navwalker())
);
?>

要在项目容器上添加自定义属性,您可以在 items_wrap

中指定自定义模板
'items_wrap' => '<ul data-plugin="menu" id="%1$s" class="%2$s">%3$s</ul>'

导致调用 wp_nav_menu

<?php
wp_nav_menu( array(
    'menu'       => 'top',
    'depth'      => 2,
    'container'  => false,
    'menu_class' => 'site-menu scrollable-content',
    'walker'     => new wp_bootstrap_navwalker(),
    'items_wrap' => '<ul data-plugin="menu" id="%1$s" class="%2$s">%3$s</ul>'
);
?>

items_wrap 是 used 这样构建最终的导航菜单:

$nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );