sub-menu wird nicht eingeblendet

  • Hallo!

    Ich muss gerade bei einer Webseite (die nicht von mir gemacht wurde!) Anpassungen vornehmen. Dabei ist mir aufgefallen, dass wenn man beim Menü ein Submenü anlegt, dieses auf der Seite nicht angezeigt wird. Ich habe daraufhin das Stylesheet, die header.php und weiß der Geier noch was hoch und runter kontrolliert, doch kann ich den Fehler einfach nicht finden.

    Könnte mir jemand von euch sagen woran das möglicherweise liegt? Bzw. wo ich noch nach der Ursache suchen könnte.

    Hier der Link zu der betreffenden Seite: http://www.arsonore.at/ (Beim Menüpunkt "Programm" sollte z.B. ein Submenü sein.)

    Vielleicht noch als Zusatzinfo die unter Umständen helfen könnte: Der Webdesigner der diese Seite gemacht hat, hat das Theme auch bei einer anderen Seite schon verwendet und nur ein paar geringe Änderungen vorgenommen. Das Witzige daran ist, dass hier das mit dem Submenü aber funktioniert. :confused: ––> http://www.die-organisation.at/category/projekte/

    Danke und LG,
    Sy.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • evtl. hast du die Submenüpunkte falsch angelegt? Wie sieht es im Backend aus (Screenshot)?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ich hab mir die Menüeinstellungen im Backend angeschaut und es auch mit dem Backend der anderen Seite verglichen. Der einzige Unterschied ist, das dort das Submenü aus Kategorien gemacht wurde und nicht aus Seiten. Gibt es da etwas wo man festlegen kann, dass nur Kategorien für das Submenü verwendet werden können aber Seiten nicht? Würde für mich zwar nicht unbedingt viel Sinn ergeben aber so gut kenne ich mich dann auch wieder nicht aus ...


  • ich vermute der Theme-Autor hat irgendwas über die header.php (evtl. die depth bei wp_nav_menu()) oder über einen nav_walker in der functions.php beschränkt, denn im Quelltext ist eindeutig die class "menu-item-has-children" für Programm und Künstler vergeben.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ich glaub ich hab den Fehler gefunden. Da wurde ein Filter verbaut.Bin aber bei PHP noch nicht so sattelfest und weiß deshalb nicht genau wie ich die Stelle in der functions.php ändern soll damit es so aussieht wie es soll. Hier der Code:

    // Navigation (menu)
    if ( !function_exists( 'st_navbar' ) ) {

    function st_navbar() {
    echo '<div id="navigation" class="row sixteen columns">';
    //wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary','depth' => '1','walker'=>new Selective_Walker()));
    wp_nav_menu( array('theme_location'=>'primary', 'walker'=>new Selective_Walker() ) );

    echo '</div><!--/#navigation-->';
    }

    } //endif

    //neues submenu

    add_filter("wp_nav_menu_objects",'my_wp_nav_menu_objects_start_in',10,2);

    # filter_hook function to react on start_in argument
    function my_wp_nav_menu_objects_start_in( $sorted_menu_items, $args ) {
    if(isset($args->start_in)) {
    $menu_item_parents = array();
    foreach( $sorted_menu_items as $key => $item ) {
    // init menu_item_parents
    if( $item->object_id == (int)$args->start_in ) $menu_item_parents[] = $item->ID;

    if( in_array($item->menu_item_parent, $menu_item_parents) ) {
    // part of sub-tree: keep!
    $menu_item_parents[] = $item->ID;
    } else {
    // not part of sub-tree: away with it!
    unset($sorted_menu_items[$key]);
    }
    }
    return $sorted_menu_items;
    } else {
    return $sorted_menu_items;
    }
    }

  • wie vermutet hängt da noch ein eigener Walker mir drin: , 'walker'=>new Selective_Walker()
    könntest du ja mal löschen und gucken was dann passiert.

    Wieso fragst du den Webdesigner nicht nach dem angepassten Walker bzw. dem angepassten Theme?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Danke für die Tipps! Nach ein bisschen herumprobieren hat's jetzt geklappt.

    Um auch noch deine Frage zu beantworten: Ich konnte den Webdesigner leider nicht fragen weil der nicht mehr für die Firma arbeitet und für sowas daher nicht mehr erreichbar ist.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!