Aktuellen (Parent) Menüpunkt hervorheben

  • Auf meiner Seite soll immer der oberste Menüpunkt hervorgehoben werden.
    Die Struktur sieht etwa so aus:

    ParentItem
    -ChildItem
    --ChildChildItem
    ---ChildChildChildItem

    Nun soll immer, auch wenn ChildChildChild geklickt ist, das ParentItem hervorgehoben werden.

    Das jeweils übergeordnete ParentItem zu markieren wäre kein Problem, dazu verwende ich in meiner .css Datei .current_page_parent. Das reicht nur leider in meinem Fall nicht aus.
    Vielleicht hat von Euch jemand eine Idee, oder hatte mal das selbe Problem. Prima wäre es, wenn ich das auch über css machen lassen würde!

    Also, schon mal im Voraus vielen Dank für Eure Hilfe!
    bonaqua

    • 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

  • Also so auf Anhieb fällt mir dazu nur ein, dass man das sicher relativ leicht mit der JavaScript-Library jQuery lösen kann. Es gibt aber sicher noch andere Lösungen.

    Per CSS wird das halt nur was, wenn an dem Element auch eine entsprechende Klasse dranhängt. Falls WP das nicht macht, kannst Du eigentlich nur noch eine andere Methode benutzen zum Bauen der Listen. Sicher gibt es Plugins, die die Listen so bauen, dass alle Parent-Elemente markiert sind.

    Oder eben eine entsprechende Klasse mit jQuery selber einfügen. Leute ohne JS sehen das natürlich nicht, und ggf. taucht die Markierung mit 'ner halben Sekunde Verzögerung auf. Dafür müsste sich das umsetzen lassen, ohne an der Seite an sich was zu ändern.

    Einmal editiert, zuletzt von Ammaletu (10. März 2008 um 19:53)

  • Hast Du es schon mal mit:
    .current_page_parent a {
    /* css-Anweisungen */
    }
    und ggf. mit:
    .current_page_parent a:hover {
    /* css-Anweisungen */
    }
    versucht?

    VG Elke

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

  • Ammaletu

    Also so auf Anhieb fällt mir dazu nur ein, dass man das sicher relativ leicht mit der JavaScript-Library jQuery lösen kann. Es gibt aber sicher noch andere Lösungen.


    Hast Du schon Erfahrung mit jQuery? Wie muss ich das überhaupt einbinden?

    redcat63
    Das geht nur, so lange ich nur eine Seite unter der ParentPage bin.
    Wenn ich auf der Seite ChildChildItem bin, dann ist nicht mehr die ParentPage mein Parent, sondern eben das ChildItem. Ich hoffe, Du verstehst was ich meine ...

    Bin für weitere Hilfe sehr dankbar!!!

  • Monika
    Aber ich verwende doch wp_list_pages und nicht den wp_list_categories Befehl ...
    Denkst Du, es geht dann trotzdem??



    oh.....8-) da hab ichs falsch *derlesen*

    es gibt ein Plugin, dass dies kann, das versteckt aber die Unterseiten, solange man nicht darauf geklickt hat

    Meall Dubh » Fold Page Menus plug-in for WordPress

  • Monika
    Dake für den Tipp mit dem Plugin! :-D

    Ich verwende nun das Plugin fold_page_list und kann dann auch über .current_page_ancestor immer das ParentItem markieren!! :mrgreen:

    So, nun ist aber ein anderes Problem aufgetreten. Meine selbst definierte Startseite wird nicht mehr in der Navigation mit angezeigt.
    Anzeigen lasse ich die Navigation folgendermaßen:

    Code
    ?php wswwpx_fold_page_list('sort_column=menu_order&title_li=&depth=1&exclude=53,52,61');  ?>



    An was kann es liegen, dass die Startseite nicht mehr angezeigt wird? Bzw. wie kann ich sie wieder anzeigen lassen?

    Danke!

  • wenn Du die Startseite auch markieren magst, wenn man auf ihr ist hilft dies ;)

    PHP
    <li <?php if (is_home()) 
          echo " id=\"current\""; ?>><a href="<?php bloginfo('url'); ?>/"  title="Home, zur Startseite" >Home</a></li>



    wobei Du das

    id= current so umändern musst, dass es zu Deinem CSS passt und dies alles kommt vor dem

    <?php ,,,,,,,,,?>

    und nach dem ul...;)

    lg

Jetzt mitmachen!

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