Hallo,
ich möchte die Walker Function für ein eigenes Menü anpassen. Das habe ich soweit auch schon gemacht. Leider klappt es noch nicht so ganz. Hier mal meine Anpassungen:
PHP
class My_Nav_Menu_Walker extends Walker_Nav_Menu
{
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<span><ul class='submenu'>\n";
}
function end_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</span></ul>\n";
}
function start_el(&$output, $item, $depth, $args)
{
global $wp_query;
$class_names = $value = '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$class = in_array('current-menu-item', $classes) ? ' class="active"' : '';
$output .= '<li>';
$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
$item_description = !empty($item->description) ? esc_attr($item->description) : '';
$item_output = $args->before;
$item_output .= '<a'.$class. $attributes .'>';
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= '';
$item_output .= '</a>';
$item_output .= '';
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
}
Alles anzeigen
Dabei erhalte ich folgendes:
HTML
<ul id="topnav"><li><a href="http://localhost/wordpress/networking/">Networking</a><span><ul class="submenu">
<li><a href="http://localhost/wordpress/spirit-shop/">Spirit Shop</a></li><li><a href="http://localhost/wordpress/">Startseite</a></li></ul></span></li>
Für meinen Fall benötige ich aber das 2. <ul> und die damit verbundenen <li> nicht. Aller Menüunterpunkte sollen einfach in einem Link ausgegeben werden. Wenn ich das <ul class=Submenu"> einfach durhc einen Link ersetze, bekomme ich keinen Menüpunkttext geliefert.
Leider stehe ich etwas auf dem Schlauch. Jemand einen Tipp für mich? :roll:
Liebe Grüße sat