WordPress benutzerdefinierte Menüs: HTML Markup zu Menü-Oberpunkten hinzufügen

architecture 1778862 1920
Bildquelle: Pixabay, MichaelGaida

Um die Mobilfreundlichkeit eines Menüs mit jQuery zu verbessern, jedoch ohne das Rendering durch das Anhängen von HTML-Elementen via Javascript zu blockieren, suchte ich nach einem Weg, das HTML-Element das mein jQuery Skript zum Öffnen und Schließen von Untermenüs anspricht, via PHP auszugeben ohne gleich einen Custom Walker dafür bemühen zu müssen. Das funktioniert über der Filter walker_nav_menu_start_el.

function pptf_menu_collapser_to_parents( $item_output, $item, $depth, $args ) {
    $classes = $item->classes;
    if ( in_array( 'menu-item-has-children', $classes ) ) {
        // append mobile collapser after parent links
        $item_output .= '<span class="sub-collapser mobileonly"><span>▼</span></span>';
    }
    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'pptf_menu_collapser_to_parents', 10, 4 );

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable