Hallo zusammen,
wenngleich ich mich jetzt seit geraumer Zeit durch Threats und Google lese, finde ich leider keine Möglichkeit mein Problem zu lösen (ggf hab ich auch einfach nur zu wenig Ahnung um gelesenes auf mein Problem anwenden zu können :)).
Folgende Situation: Ich möchte WP (2.9.2) als CMS nutzen. Dabei werden "Seiten" als ganz normale Homepageunterseiten genutzt.
Die Navigation habe ich in zwei Teile aufgeteilt: Hauptnavigation (untergebracht im Header) und die Subnavi (untergebracht in page.php).
Die Subnavi soll mir - abhängig von der gewählten Oberseite - die hierzu gehörenden Unterseiten anzeigen.
Sollte eine Unterseite weitere Unter-Unterseiten haben, sollen diese - nach klicken auf Unterseite - angezeigt werden.
Als Beispiel:
Seite X
- Unterseite 1
- Unterseite 1.1
- Unterseite 1.2
- Unterseite 2
- Unterseite 3
Den Code hierfür habe ich mir soweit auch zusammengesucht und der funktioniert auch.. zumindest fast und damit zu meiner Frage :)
Ich habe ein Problem mit der Subnavi. Nach klickt auf "Seite X", werden in meiner Subnavi die Unterseiten 1 - 3 angezeigt.
Klicke ich nun auf Unterseite 1, werden auch die Unter-Unterseiten 1.1 und 1.2 angezeigt.
ABER :)
1. Klicke ich als erstes auf Unterseite 1 und es werden im Menü 1.1 und 1.2 angezeigt, sind diese als "link aktiv" markiert
2. Klicke ich als erstes auf Unterseite 2, wird ebenfalls das Unter-Untermenü 1.1 und 1.2 angezeigt (hier jedoch als "link inaktiv")
3. hätte ich natürlich gerne, dass das Unter-Untermenü 1.1 und 1.2 zuklappt, wenn ich auf Unterseite 2 oder 3 klicke
Als Code für das Untermenü, habe ich folgendes verwendet:
<?php
if(!$post->post_parent){
// will display the subpages of this top level page
$children = wp_list_pages("depth=1&title_li=&child_of=".$post->ID."&echo=0");
}
else{
// diplays only the subpages of parent level
//$children = wp_list_pages("depth=1&title_li=&child_of=".$post->post_parent."&echo=0");
if($post->ancestors)
{
// now you can get the the top ID of this page
// wp is putting the ids DESC, thats why the top level ID is the last one
$ancestors = end($post->ancestors);
$children = wp_list_pages("title_li=&child_of=".$ancestors."&echo=0");
// you will always get the whole subpages list
}
}
if ($children) { ?>
welcher dann etwas später im Quellcode, hierdurch aufgerufen wird:
<div id="submenu1">
<ul>
<?php echo $children; ?>
</ul>
</div>
Falls jemand Ideen oder Anregungen - gerne auch Alternativvorschläge - für mein Problem hat, wäre das super!
Vielen Dank im voraus!
Grüße
derflu