Child und parent abfrage?

  • Guten Tag,
    ich habe bereits die die Faq und codex seite durchforstet hab aber trotzdem nicht das richtige gefunden. Bzw. weiß ich ungefähr was ich machen muss hab aber mit der Formulierung Probleme. Ich habe eine Header Navigation und weise dieser jeweils die klasse "current" zu um den aktiven menupunkt hervorzuheben. Das klappt soweit ganz gut. Jetzt habe ich aber zwei Sonderfälle. Einmal Habe ich einen Glossar Index. Wenn ich nun auf den Menupunkt Glossar klicke, komme ich auch zur Glossarseite und das Menu ist aktiv. Sobald ich aber eine Ebene tiefer gehe und mir ein bestimmtes Wort vom Glossar anschaue ist der Menupunkt nicht mehr aktiv. Die Unterseiten sind aber auch Unterkategorien von der Glossarkategorie. Puh ich hoffe man versteht was ich meine. So sieht bis jetzt mein Code aus:

    PHP
    <?php if (is_page('96')) { echo " class=\"current\"";}?>

    Ich müsste jetzt irgendwie noch hinzufügen, dass die class "current" auch bei den child pages von 96 hinzugefügt wird.

    Das umgekehrte problem habe ich bei Unterartikeln einer bestimmten Kategorie:

    PHP
    <?php if (is_category('4')) { echo " class=\"current\"";}?>

    das ist jetzt die oberkategorie "produkte" wenn ich nun um dropdown menu eine unterkategorie anklicke z.b.: Stühle

    PHP
    <?php if (is_category('10')) { echo " class=\"current\"";}?>

    Soll trotzdem die Kategorie 4 die klasse "current" behalten...


    Ich hoffe man versteht mein Problem und das lässt sich irgendwie lösen...

    :(

    • 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

  • Hab grad das im Codex gefunden: http://codex.wordpress.org/Conditional_Ta…g_for_sub-Pages
    Snippet 3 hört sich doch brauchbar an, oder?

    [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]

  • vielen dank,
    mit pages funktioniert das wunderbar. allerdings habe ich den groteil der menupunkte mit "categories verlinkt, also so:

    PHP
    if (is_category('10'))

    hab dann versuch den code so umszuformulieren, aber das funktioniert leider nicht:

    PHP
    if (is_category('10') || $category->category_parent == '10')

    das muss doch auch irgednwie möglich sein.. :-|

    Einmal editiert, zuletzt von christianslater (20. September 2009 um 23:51)

  • Funktioniert mit elseif

    <li<?php if (is_category('Parent') || in_category('1') && !is_single() || in_category('1')) { echo " id=\"current\""; } elseif (is_category('child11') || in_category('11') && !is_single() || in_category('11')) { echo " id=\"current\"";
    }?>><a href="<?php bloginfo('url') ?>/category/parent/" title="Parent">Parent</a></li>

    In diesem Beispiel wird "Parent" in der Navigation immer angezeigt, egal ob sich eine Seite in der Kategorie parent oder in der Unterkategorie child befindet. Noch ein elseif und das zweite child ist eingebunden usw.

    Das Ganze geht auch einfach ohne if-Getrickse, wenn man einen Beitrag bei der Zuordnung im Dashboard sowohl der Parent-Kategorie als auch der Child-Kategorie zuordnet. Wenn man jedoch in der single.php den Template Tag "the category" verwendet, um in der Seite selbst ebenfalls den Pfad zu der Kategorie bzw. Unterkategorie anzuzeigen, wird´s verwirrend. Denn dann werden Pfad zum Parent und Pfad zum Child angezeigt.

    Alletzklar ?

Jetzt mitmachen!

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