Twenty Twelve 2 Menüs Problem mit Formatierung

  • Hi,

    ich habe jetzt im Theme TwentyTwelve ein zweites Menü eingefügt. Das klappt soweit ganz gut. Realisiert wurde das mit dem Code:

    PHP
    <nav id="site-navigation" class="main-navigation" role="navigation">
        <?php wp_nav_menu( array( 'theme_location' => 'optionalmenu', 'menu_class' => 'nav-menu' ) ); ?>
    </nav>

    Nun wird das hinzugefügte Menü wie das originale angezeigt. Die Formatierungen sind logischerweise gleich. Und hier komme ich dann zu meinem Problem.

    Während bei TwentyEleven und TwentyTen die Zuweisung einer anderen css-Formatierung ohne Proleme möglich ist, will das hier nicht funktionieren.

    Ändere ich bspw die class auf eine extra erstellte, dann wird das neue Menü nicht mehr angezeigt.

    Fürs erste würde es mir reichen, wenn ich das neue Menü einfach nur rechts ausgerichtet angezeigt bekomme. Ziel ist natürlich die komplette Änderung, sodass sich das Menü in komplett anderem Design zeigt.


    Danke erst einmal dafür.

    • 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 abgesehen davon, das ich nicht ganz verstehe was es bewirken soll, funktioniert es auch nicht. Das Menü wird schlicht nicht mehr angezeigt.

    Ich verstehe den Aufbau im twentytwelve noch nicht ganz. Und eine Dokumentation dazu hab ich auch nicht gefunden. Ich würde eben ganz gerne wissen wie ich dem 2. Menü eine andere css-Formatierung zuweisen kann.

    EDIT:

    Wenn ich zB

    Code
    'menu_class' => 'menu_nav-menu'

    benutze, wird das Menü zwar angezeigt, aber er nimmt meine neue css-Formatierung (angegeben in class) nicht...

    Einmal editiert, zuletzt von BumbleBee (1. Januar 2013 um 19:46)

  • ich würde den aufruf des individuellen menüs aus der main-navigation herausnehmen:

    PHP
    <nav id="site-navigation" class="main-navigation" role="navigation">
    </nav>
    <?php wp_nav_menu( array( 'theme_location' => 'optionalmenu', 'menu_class' => 'nav-menu' ) ); ?>

    lg, pixselig
    ps: oder bezweckst du etwas spezielles damit?

  • Was spezielles? Mh, ja. Die Anzeige wie ich sie gerne will.

    Grundsätzlich funktioniert Deine Lösung nämlich genauso, als wenn ich <nav> komplett weglassen würde. Sprich, es gibt keine css-Formatierung...

    Also ich will eigentlich, das ein 2. Menü oberhalb des Titels angezeigt wird, das exact so aussieht wie das normale unter dem Titel. Verändert werden soll nur die Ausrichtung nach rechts und die Schriftgröße möchte ich auf etwa 75%. Der Rest soll wie gleich sein.

    Und genau das ist jetzt mein Problem. Ich bekomme das auf die herkömmliche Art und Weise wie ich das im 2011er gemacht habe nicht hin. Dort konnte man ja alles kopieren und hat einfach eine andere Klasse angegeben, damit sich die Formatierung vom 1. Menü unterschied. Die Frage die sich mir stellt ist also, wie genau funktioniert das Theme?

    Oder kann einer genau erklären warum das Menü gar nicht mehr zu sehen ist, wenn ich die Klasse ändere...

  • Wo ist jetzt das Problem? Link?

    PHP
    <nav id="site-navigation" class="main-navigation" role="navigation">
    </nav>
    <div id="sec-nav" class="sec-navigation">
    <?php wp_nav_menu( array( 'theme_location' => 'optionalmenu' ) ); ?>
    </div>

    und dann kopierst du die styles von ".main-navigation", ".main-navigation ul", ".main-navigation li" etc in die entsprechenden ".sec-navigation .." und änderst das was anders sein soll. Je nachdem wie twentytwelve der navigation von haus aus klassen mitgibt musst du diese gegebenenfalls anpassen.

    ps: es könnte viel einfacher funktionieren als ich hier oben geschrieben habe: und zwar so wie unart schon geschrieben hat -> nur wird da dann via css die anzeige mittels "display:none;" unterbunden. diese stelle(n) musst du nur finden und ändern!!!

    Einmal editiert, zuletzt von pixselig (2. Januar 2013 um 20:24)

  • Wo ist jetzt das Problem? Link?

    Link? Okay: http://localhost ;-)

    PHP
    <nav id="site-navigation" class="main-navigation" role="navigation">
    </nav>
    <div id="sec-nav" class="sec-navigation">
    <?php wp_nav_menu( array( 'theme_location' => 'optionalmenu' ) ); ?>
    </div>

    und dann kopierst du die styles von ".main-navigation", ".main-navigation ul", ".main-navigation li" etc in die entsprechenden ".sec-navigation .." und änderst das was anders sein soll. Je nachdem wie twentytwelve der navigation von haus aus klassen mitgibt musst du diese gegebenenfalls anpassen.

    Genau da ist das Problem! Er nimmt eben die Formatierung nicht an. Die styles sind ja schon kopiert und geändert. Die normale Klasse ist ".main-navigation", meine neue heißt "opt-navigation". Auch eine Änderung des Klassennamens bringt nichts. Er nimmt es einfach nicht!

    Beispiel:
    Nehme ich den folgenden Code

    PHP
    <nav id="site-navigation" class="main-navigation" role="navigation">		</nav>
    		<div id="site-navi" class="main-navigation" style="align:right!important;">
    			<?php wp_nav_menu( array( 'theme_location' => 'optionalmenu' ) ); ?>
    		</div>


    dann zeigt der das Menü an. Allerdings ohne den Strichen oben und unten, und er zentriert es. Deshalb bin ich ja so verwirrt und finde den Fehler nicht. Daher wäre es toll wenn einer mir meinen Fehler genau erklärt, der sich mit twentytwelve auch sehr gut auskennt, weil er es selbst intensiv nutzt.

  • Lösung hab ich jetzt durch ewigen hin und her.

    PHP
    <nav class="opt-navigation" role="navigation">	<h3 class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></h3>
    	<a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a>
    	<?php wp_nav_menu( array( 'theme_location' => 'optionalmenu', 'menu_class' => 'nav-menu-2' ) ); ?>
    </nav>

    Jetzt klappt es wie es soll. Die <h3> und <a>-Tags sind übrigens dem responsive Design geschuldet. Also wenn das Menü ausgeblendet wird und statt dessen der Menu-Button erscheint.

Jetzt mitmachen!

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