1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Submenü auf definierten Seiten auf display:block;: Individuelle Klasse hinzufügen?

Dieses Thema im Forum "Design" wurde erstellt von clark, 17. April 2013.

  1. clark

    clark Well-Known Member

    Registriert seit:
    19. September 2006
    Beiträge:
    53
    Zustimmungen:
    0
    Ich habe ein WP-Theme aufbereitet und die Submenüs ein-/ausblenden über die Klassen current-page-ancestor und current_page_parent und current-menu (display:block) klappt alles soweit. Folglich kann man aber immer nur das Submenü aufklappen, wenn die aktuelle Submenü-Seite zu der betreffenden Elternseite bzw. zu dem Eltern-Menüpunkt gehört.

    Nun will ich aber ein Submenü auch anzeigen lassen, wenn andere Seiten gerade aktiv sind, die nicht in das obige Raster fallen. Bisher kenne ich nur die Option, dass ich nochmal gesondert den Elternmenüpunkt anspreche (z.B. menu-item-118) und dort das Submenü auf display:block setze. Dann aber ist das Submenü auf jeder (!) Seite des Projekts sichtbar! Und das will ich wiederum auch nicht!

    Ich will selbst definieren können, auf welcher Seite das Submenü sichtbar ist! Ich könnte es mir so vorstellen, dass man in den Elternmenüpunkt noch eine zusäzliche individuelle Klasse fallweise (if PageID=328,398 usw) hinzufügt, also genau dann, wenn die betreffende Seite (definiert über die Page-ID) aufgerufen wird. Und diese Klasse bewirkt dann ein display:block.

    Frage ist nun, ob man überhaupt eine Klasse in den Bereich wie folgt noch mit hineindefinieren kann?
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Z.Beispiel soll auf der Startseite das so sein:
    <li id="menu-item-118" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118 display-on">

    Wenn das nicht geht, eine css-Klasse in einem Menüpunkt fallweise hinzuzufügen, hätte ich noch die Idee, in der sidebar.php fallweise dem Divcontainer des Menüs noch eine Klasse hinzuzufügen und das Menü/Submenü dann darüber anzusprechen.
     
  2. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    Hallo clark
    Ich bin jetzt nicht ganz schlau daraus geworden was du willst, aber du kannst einem Menü über den String "menu_class" beliebige Klassen mitgeben -> http://codex.wordpress.org/Function_Reference/wp_nav_menu
    Eventuell musst du dafür dann dein Menü in zwei Menüs aufteilen (entsprechend gestylt merkt der Besucher davon aber nichts).
    Oder du löst das über Custom-Post-Types und/oder verschiedener Sidebars.
    LG, Pixselig
     
  3. clark

    clark Well-Known Member

    Registriert seit:
    19. September 2006
    Beiträge:
    53
    Zustimmungen:
    0
    Ok, man kann also Klassen hinzufügen. Mein Wunsch ist nun, dass die Klasse nur auf bestimmten Seiten hinzugefügt wird. Habe ich also die Startseite (Page Id 118 wie oben angegeben) und eine andere Unterseite (Bspw. ID 294 ), dann soll die Klasse bei beiden hinzugefügt werden. Habe ich aber eine andere Seite (bspw. Page ID 113 ), dann soll die Klasse nicht hinzugefügt werden.
     
  4. pixselig

    pixselig Well-Known Member

    Registriert seit:
    8. Mai 2012
    Beiträge:
    2.301
    Zustimmungen:
    10
    Das würde ich über zwei nur marginal unterschiedliche Templates lösen (eines mit der speziellen Klasse und eines ohne, ansonsten gleich). Google dazu nach Custom Post type. Das hat dann auch den Vorteil, dass du bei jeder neu erstellten Seite im Backend ganz einfach auswählen kannst welches Template verwendet werden soll (und damit auch ob das jeweilige Submenü nun angezeigt werden soll oder nicht).
     
  5. clark

    clark Well-Known Member

    Registriert seit:
    19. September 2006
    Beiträge:
    53
    Zustimmungen:
    0
    Ok lieben Dank! Das gibt mir einen guten Denkanstoß! Werde mich später mal da reindenken...
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden