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

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. Als Lösung eignet sich 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 );