• Hallo, ich finde meinen Fall nicht, deshalb eine extra Anfrage ...
    Ich benutze ein aktuelles WP und ein Child von responsive

    Meine Navi ist wie folgt:
    Apfel (Seite)
    Birne (Seite)
    [COLOR=#0000ff]Banane (benutzerdefiniert - nicht anklickbar mit #)
    -- Schale (Kategorie)
    -- Fruchtfleisch (Kategorie)[/COLOR]
    Zwetschge (Kategorie)

    Ich möchte, daß der Punkt Banane gehighlightet wird, wenn man auf der Seite Schale oder Fruchtfleisch ist - das geht auch.
    Ich möchte, daß Banane weiterhin gehighlightet wird, wenn man einen Beitrag in diesen Kategorien anschaut.

    aber mein Menu hat dann bei Banane nur folgende classen:
    <li id="menu-item-473" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-473">

    Ich habe die Kategorien Schale und Fruchtfleisch eine Kategorie Banane untergeordent - das hilft auch nix.

    in einem tutorial wird beschireben:
    .current-menu-parent { } targets the menu item if it is the parent of the menu to which the post belongs

    Aber wegen dem Benutzerdefinierten Link (schätze ich) haut das nicht hin.


    Kann mir jemand Licht ins Dunkel bringen?
    Wie muss ich meine Navi aufbauen, damit die richtigen classen erzeugt werden?
    Vielen Dank!

    Einmal editiert, zuletzt von irmen (16. Juli 2014 um 09:35)

    • 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

  • Eigentlich sollte das auch mit "Benutzerdefiniert" (Link) klappen. Hast Du ein Custom-Menu angelegt (Design -> Menu) und dort auch die anderen Kategorien dem Link untergeordnet?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • @beide
    vielen Dank für eure Antworten
    SirEctor
    ja ich habe das im Menu (Design -> Menu) so gemacht, die cats sind Unterpunkte von dem Link
    selket
    vielen Dank!
    ich hab das jetzt so in die functions im childtheme

    //Filtering a Class in Navigation Menu Item
    add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
    function special_nav_class($classes, $item){
    if(is_category() && $item->title == 'Blog'){
    $classes[] = 'current-menu-item';
    }
    return $classes;
    }

    aber leider taucht so ein classe weder beim Bananenhauptlink noch beim eigentlichen currentmenu punkt "schale" auf.

    hier ein teil aus firebug

    <li id="menu-item-473" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-473"><a href="#">[COLOR=#0000ff]Banane[/COLOR]</a>


    <ul class="sub-menu">
    <li id="menu-item-186" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-186">
    <a href="http://www.meineseite.de/category/angebot/kurse/">[COLOR=#0000ff]Schale[/COLOR]</a>

    ???

    Einmal editiert, zuletzt von irmen (16. Juli 2014 um 10:40)

  • Hm, peinlich ...

    ich hab das jetzt geändert aber, leider geht es immer noch nicht

    dürfte ich fragen, was die zeilen im Einzelnen bedeuten?

    //Filtering a Class in Navigation Menu Item
    add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);- [COLOR=#0000ff]was heißt 10 und was heißt 2?[/COLOR]
    function special_nav_class($classes, $item){
    if(is_category() && $item->title == 'Blog'){[COLOR=#0000ff]-siehe unten[/COLOR]
    $classes[] = 'current-menu-item';
    }
    return $classes;
    }

    Das Problem bezieht sich auf den Menupunkt, der nur als link hinterlegt ist.
    deshalb leuchtet mir das mit dem if is category nicht ganz ein.

    ???

    willst du den klink zur Seite?

  • Ok, hab jetzt mal das Theme Responsive runtergeladen und da funktioniert der Code nicht (warum auch immer, im hauseigenen Theme (hab den Code einfach mal in Twenty Ten hinzugefügt) funktioniert er).

    Aber ich habe auch die Klassen current_page_ancestor und current_page_parent im Parent Menu wenn ich auf einer Unterseite bin. Auch wenn ich einen benutzerdefinierten Link mit # einfüge. Das ist eigentlich auch egal wie SirEctor schon meinte.

    Dann poste mal bitte deinen Link, vielleicht sehen wir dann mehr.

  • Teste es mal in einem anderen Theme. Wenn ich selket richtig verstanden habe, könnte es am Theme liegen.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Ach, jetzt hat es glaube ich Klick gemacht! Wenn man die Seite vor sich hat, ist es doch einfacher ;-)

    Der Code von der Seite, den ich dir genannt habe, war schon richtig, nur musst du doch is_single einfügen

    Code
    add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
     function special_nav_class($classes, $item){     
     if(is_single() && $item->title == 'Angebot'){  
                $classes[] = 'current-menu-item';   
       }      return $classes; 
    }

    Hoffe, nun funktioniert es

  • Danke, danke, danke selket,
    es geht jetzt.

    Könntest du mir vielleicht auch noch aufdröseln, was die 10, die 2 und das $item sind?

    Oder könntest du mir eine gute php-seite empfehlen, auf der ich mich weiterbilden kann?
    Ich weiß, es gibt viele, wenn man googelt, aber vielleicht weißt du eine besonders Gute.

    Danke und einen schönen Sommernachmittag!!
    Irmen

Jetzt mitmachen!

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