Hallo Leute,
nach langer Suche im Web hat es mich doch noch mit meinem Problem hierher verschlagen.
Für ein WP-Theme möchte ich ein idiotensicheres Menü erstellen, dass sich im Administrationsbereich leicht konfigurieren lässt. Ein Menü zu registrieren und die einfacheren Sachen haben ohne Probleme geklappt.
Nun möchte ich, dass mein Menü ungefähr so aussieht:
home | store | about
und nicht so:
homestoreabout
Zwischen 2 Menüpunkten soll immer ein Strich eingefügt werden und zwar als
Dazu muss ich einen modifizierten Menü Walker in meiner functions.php haben und übergeben.
Momentan sieht er noch ganz regulär/standart aus:
class description_walker extends Walker_Nav_Menu
{
function start_el(&$output, $item, $depth, $args)
{
global $wp_query;
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
$class_names = $value = '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
$class_names = ' class="'. esc_attr( $class_names ) . '"';
$output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';
$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 ) .'"' : '';
$prepend = '<strong>';
$append = '</strong>';
$description = ! empty( $item->description ) ? '<span>'.esc_attr( $item->description ).'</span>' : '';
if($depth != 0)
{
$description = $append = $prepend = "";
}
$item_output = $args->before;
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before .$prepend.apply_filters( 'the_title', $item->title, $item->ID ).$append;
$item_output .= $description.$args->link_after;
$item_output .= '</a>';
$item_output .= $args->after;
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}// function end
}// class end
Alles anzeigen
Außerdem möchte ich, dass nur "Top-level Menüpunkte" in die finale html Ausgabe kommen und Menüpunkte mit einer "depth != 0" ignoriert werden.
Zwas kann ich ein wenig php, doch diese 2 Probleme überfordern mich, da ich auch nach langem Lesen aus den Wordpress Funktionen nicht so ganz schlau werde.
Bitte kann mir jemand helfen!! :sad: