Bootstrap v5 wp-bootstrap-navwalker 下拉导航栏不起作用

Naz*_*dan 6 javascript wordpress function navbar bootstrap-5



我在 function.php 中使用 Bootstrap v5 和 [wp-bootstrap-navwalker][1]

<?php
  require_once('class-wp-bootstrap-navwalker.php');
  function main_menu(){
    wp_nav_menu(array(
      'theme_location'    => 'main-menu',
      'menu_class'        => 'nav navbar-nav',
      'depth'             => 2,
      'container'         => 'div',
      'container_class'   => 'collapse navbar-collapse',
      'container_id'      => 'navbarSupportedContent',
      'fallback_cb'       => 'WP_Bootstrap_Navwalker::fallback',
      'walker'            => new WP_Bootstrap_Navwalker(),
    ));
  }
?>
Run Code Online (Sandbox Code Playgroud)

在 header.php 中

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <?php main_menu() ?>
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

下拉菜单不起作用
[1]:https ://github.com/wp-bootstrap/wp-bootstrap-navwalker

Dex*_*ter 10

引导程序 5.0.0 [ 2021 ]

\n

已测试并工作 \xe2\x9c\x94

\n

下面这个功能将更新data-toggledata-bs-toggle.

\n
add_filter( \'nav_menu_link_attributes\', \'bootstrap5_dropdown_fix\' );\nfunction bootstrap5_dropdown_fix( $atts ) {\n     if ( array_key_exists( \'data-toggle\', $atts ) ) {\n         unset( $atts[\'data-toggle\'] );\n         $atts[\'data-bs-toggle\'] = \'dropdown\';\n     }\n     return $atts;\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\n

来源: https ://github.com/wp-bootstrap/wp-bootstrap-navwalker/issues/499

\n
\n

修复汉堡图标下拉菜单

\n

OP 已经使用新的导航栏元素。但如果你们中有人使用旧版本并仅更新了上面的功能,请按照以下步骤操作。

\n

在响应式中,如果您使用旧类,汉堡图标将不起作用。您还必须更新您的data-toggledata-bs-toggle

\n
<button ... data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" ...>\n   <!--span-->\n</button>\n
Run Code Online (Sandbox Code Playgroud)\n