Ja, funktioniert super, danke. Ich schreib mal hier die Basisinfos auf, falls das jemand anderer nutzen möchte:
1) Die Voraussetzung ist, dass beide Menüteile auf einer gemeinsamen Seite angezeigt werden können, bzw. in einem gemeinsamen <div> platziert sind. Damit man die Vorteile der komfortablen Menüsortierung im Adminbereich nutzen kann, ist es notwendig das Menü so aufzurufen:
<nav class="main-navigation">
<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
</nav>
2) In meinem Fall ist es so, dass ich das _s-master Theme nutze, das ist ein leeres Theme und daher natürlich auf solche Veränderungen gut vorbereitet. Es hat - grob gesagt - folgende Struktur:
<header id="masthead">
</header>
<div id="content">
<div id="secondary">Sidebar</div>
<div id="primary">Sidebar</div>
</div>
<footer id="colophon">
</footer>
Mein Wunsch war es, dass die 1. Ebene in der Sidebar angezeigt wird, die 2. Ebene horizontal unterhalb des Headers.
Damit das funktioniert waren ein paar einfache Schritte notwendig:
1) Ich habe das Menü in das <div> mit der id "content" platziert und dieses <div> mit "position: relative" ausgestattet. Die erste Ebene habe ich im diesem <div> senkrecht, links platziert, als Pseudosidebar sozusagen. Die Sidebar war dann nicht mehr notwendig, daher habe ich sie entfernt.
2) Die zweite Ebene habe ich dann absolut positioniert, das geht z. B. so: .main-navigation ul ul {position: absolute;} Dann wird sie im oberen, linke Eck von #content angezeigt. mit top und left kann man jedes absolute Element beliebig verschieben, das ist ja leicht und das habe ich natürlich genutzt um die ideale Position zu finden. Dann musste ich natürlich noch die einzelnen <li> so stylen, wie ich sie wollte. In dem Fall sollten diese Elemente waagrecht nebeneinander sein, also habe ich sie als Blockelemente definiert, sie in der Breite beschränkt und links floaten lassen. Dann werden sie alle nebeneinander angezeigt.
3) OK, das wars schon fast. ;) Das Problem jetzt: Wenn mehrere Menüpunkte eine zweite Ebene haben, dann werde alle Unterpunkte gleichzeitig und - durch die absolute Positionierung - übereinander liegend angezeigt. Ich musste also noch CSS hinzufügen damit nur die aktuellen Unterpunkte sichtbar sind. Das ging in meinem Fall so:
.main-navigation ul ul li {display: none;}/*Alle Listenelemente der zweiten Ebene werden ausgeblendet*/
.main-navigation ul li.current-page-parent ul li { display: block;} Die Kinder des aktuellen Listenelements der ersten Ebene werden wieder eingeblendet*/
Das war das Grundgerüst, ich hoffe, es nützt anderen.
Grüße
Raphael