Hinzufügen von div nach WordPress-Untermenüpunkten

Lesezeit: 1 Minute

Hinzufugen von div nach WordPress Untermenupunkten
Zukünftige Webs

Ich versuche, ein div nach Untermenüelementen in einem WordPress-Menü hinzuzufügen. Ich arbeite an folgendem Code in der Datei functions.php:

add_filter( 'nav_menu_link_attributes', 'SubMenuCheck', 10, 3 );
function SubMenuCheck( $atts, $item, $args ) {
  if (in_array('menu-item-has-children', $item->classes)) {
    $args->after="<div class="click">+</div>";
  }
  return $atts;
}

Der obige Code fügt das neue div hinzu <div class="click">+</div>wendet es aber nach der ersten ‘menu-item-has-children’-Klasse weiterhin auf alle übergeordneten und untergeordneten Elemente an:

Beispiel für eine Menüausgabe

Weiß jemand, warum sich das wiederholt? … Ich möchte nur, dass das div für Elemente mit angezeigt wird menu-item-has-children Klasse.

Danke

Ich benutze die nicht nav_menu_link_attributes Filter, um eine Schaltfläche (die semantisch korrekt ist) als Hotspot zum Umschalten der Kinder hinzuzufügen, verwende ich Folgendes:

function prefix_add_button_after_menu_item_children( $item_output, $item, $depth, $args ) {

    if ( $args->theme_location == 'primary' ) {

        if ( in_array( 'menu-item-has-children', $item->classes ) || in_array( 'page_item_has_children', $item->classes ) ) {
            $item_output = str_replace( $args->link_after . '</a>', $args->link_after . '</a><button class="sub-menu-toggle" aria-expanded="false" aria-pressed="false"><span class="screen-reader-text">' . _x( 'open dropdown menu', 'verb: open the menu', 'text-domain' ) . '</span></button>', $item_output );
        }
    }

    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'prefix_add_button_after_menu_item_children', 10, 4 );

.

683500cookie-checkHinzufügen von div nach WordPress-Untermenüpunkten

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

Privacy policy