wordpress 引导程序v5 wp-bootstrap-navwalker下拉导航栏不工作

9ceoxa92  于 2022-11-22  发布在  WordPress
关注(0)|答案(1)|浏览(161)

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

<?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(),
    ));
  }
?>

在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>

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

u5rb5r59

u5rb5r591#

【2021年发布】引导程序5.0.0
已测试并正在工作▷
下面的函数将data-toggle更新为data-bs-toggle

add_filter( 'nav_menu_link_attributes', 'bootstrap5_dropdown_fix' );
function bootstrap5_dropdown_fix( $atts ) {
     if ( array_key_exists( 'data-toggle', $atts ) ) {
         unset( $atts['data-toggle'] );
         $atts['data-bs-toggle'] = 'dropdown';
     }
     return $atts;
}

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

修复汉堡包图标下拉列表

OP已经在使用新的导航栏元素。但是如果你们中的任何一个使用旧的并且只更新了上面的功能,那么按照下面的步骤操作。
如果你使用的是旧的类,汉堡包图标将不会起作用。你还必须将你的从data-toggle更新为data-bs-toggle

<button ... data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" ...>
   <!--span-->
</button>

相关问题