Bootstrap v5 wp-bootstrap-navwalker Dropdown-Navigationsleiste funktioniert nicht

Lesezeit: 2 Minuten

Ich benutze Bootstrap v5 und [wp-bootstrap-navwalker][1]

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

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

das Dropdown-Menü funktioniert nicht
[1]: https://github.com/wp-bootstrap/wp-bootstrap-navwalker

  • Questions which are too broad, unclear, incomplete or primarily opinion-based vielleicht von der Gemeinde geschlossen bis sie verbessert sind.

    – ein Meerestagebuch

    3. Januar 2021 um 5:00 Uhr

  • Was funktioniert nicht? Beim Hover das Untermenü öffnen? Beim Klick das Untermenü öffnen? Es gibt überhaupt keine Speisekarte? Bitte geben Sie weitere Details an.

    – Howard E

    3. Januar 2021 um 19:13 Uhr

  • @HowardE das Dropdown-Menü funktioniert nicht in Bootstrap 5 the menu ` function register_all_menu() { register_nav_menus(array( ‘top_menu’ => ‘القائمة العلوية’, ‘main-menu’ => ‘القائمة الرئيسية’, ‘ => ‘القائمة السفلية’, )); } ` Ich überprüfe auch diesen Artikel, aber es funktioniert auch nicht [github.com/AlexWebLab/bootstrap-5-wordpress-navbar-walker]

    – Nazar Kardan

    4. Januar 2021 um 19:53 Uhr


  • Sie können dies verwenden Navwalker und in Zeile 214 ändern Sie dafür: if ( $this->has_children && 0 === $depth ) { $atts['href'] = '#'; $atts['data-bs-toggle'] = 'dropdown'; $atts['aria-haspopup'] = 'true'; $atts['aria-expanded'] = 'false'; $atts['class'] = 'dropdown-toggle nav-link'; $atts['id'] = 'navbarDropdown'; }

    – Nazar Kardan

    10. Januar 2021 um 22:14 Uhr


  • Wechseln zu $atts['data-bs-toggle'] hat bei mir funktioniert!

    – ben.kaminski

    24. Februar 2021 um 21:27 Uhr

Benutzer-Avatar
Dexter

Bootstrap 5.0.0 [ 2021 ]

Getestet und funktioniert ✔

Sie können diese Funktion verwenden. Dies wird aktualisiert data-toggle zu 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;
}

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

Beheben des Hamburger-Symbol-Dropdowns

OP verwendet bereits die neuen Navigationsleistenelemente. Aber wenn jemand von Ihnen das alte verwendet und nur die Funktionen von oben aktualisiert hat, dann folgen Sie den Schritten unten.

In Responsive funktioniert das Hamburger-Symbol nicht, wenn Sie die alten Klassen verwenden. Sie müssen auch Ihre from aktualisieren data-toggle zu data-bs-toggle

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

1360120cookie-checkBootstrap v5 wp-bootstrap-navwalker Dropdown-Navigationsleiste funktioniert nicht

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy