Also bei mir war das damals so, dass sich die Seiten erster Ordnung nicht ändern.
In meiner sidebar.php steht dann folgendes:
<li class="lichtsysteme">
<h4><a href="#" title="Lichtsysteme">Lichtsysteme</a></h4>
<ul>
<? wp_list_pages('title_li=&child_of=10&sort=menu_order' ); ?>
</ul>
</li>
<li class="projekte">
<h4><a href="#" title="Projekte">Projekte</a></h4>
<ul>
<? wp_list_pages('title_li=&child_of=11&sort=menu_order' ); ?>
</ul>
</li>
Alles anzeigen
Es werden also jeweils immer nur die jeweiligen Unterseiten aufgelistet.
Dann in der header.php folgendes Javascript:
<script type="text/javascript">
//<![CDATA[ ... Moo!
window.addEvent('domready', function() {
s=new Array();
Slide=function(c) {
$$('#navi .'+c).each( function(el) {
a=el.getFirst();
if(a.getTag()!="a") { ul=a.getNext(); a=a.getFirst(); }
else ul=a.getNext();
ul.setProperty('id','slide-'+c);
s[c]=new Fx.Slide('slide-'+c); s[c].hide();
a.addEvent('click', function(e) { e=new Event(e); s[c].toggle(); e.stop(); });
})}
Slide('lichtsysteme'); <? if(is_subpage(10)) { ?>s['lichtsysteme'].show();<? } ?>
Slide('projekte'); <? if(is_subpage(11)) { ?>s['projekte'].show();<? } ?>
});
//]]>
</script>
Alles anzeigen
Sprich, die Elemente mit den Klassen "lichtsysteme" und "projekte" innerhalb von "#navi" werden mit Events versehen.
Das Element zum Sliden wird gefunden, indem die Unterelemente per getFirst() durchlaufen werden.
Natürlich muss das mootools Framework mit den entsprechenden Funktionen eingebunden werden.
Das ganze wird in der header.php untergebracht, weil, wenn ich auf einer Unterseite bin, soll das Menü bereits ausgeklappt sein, daher brauch ich die Wordpress-Funktionen innerhalb meines JavaScripts.
Gruß
Simon