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

wp_nav_menu: Menüpunkt eindeutig identifizieren

Dieses Thema im Forum "Design" wurde erstellt von kristianbu, 1. September 2010.

  1. kristianbu

    kristianbu New Member

    Registriert seit:
    1. September 2010
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,

    ich bin ganz neu in der WP Welt und auch hier im Forum, deshalb verzeiht mir bitte möglicherweise Anfängerfragen :)

    Ich habe mir ein Menü gebastelt, und lasse dieses im Template über wp_nav_menu darstellen. Die <li> Tags haben im class Tag solch oder ähnliche Angaben zu stehen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Da ich für jeden Menüpunkt eigene mouse over Grafiken verwende, habe ich das css anhand der Angabe menu-item-xx designt. Nun ist mir aber aufgefallen, dass sich die ID häufiger mal ändern, wenn man an den Menüs etwas verändert oder ich doppelte css Angaben machen muss, wenn eine zugewiesene Seite in mehreren Menüs auftaucht.

    Frage: Ist es irgendwie möglich, statt der menu item id den slug der zugewiesenen Kategorie / Seite anzeigen zu lassen. Bsp: Ich habe eine Seite mit dem slug "news". Wünschen würde ich mir dann solch eine (oder ähnliche) css class Angabe:
    <li class="menu-item page-news">. So hat ein Link auf meine News Seite immer die gleiche css Klasse, auch wenn meine Seite in mehreren Menüs vor kommt oder ich Menüs verändere / neu strukturiere.

    Vielen Dank für eure Hilfe,

    Gruß, Kristian
     
  2. Art4

    Art4 Well-Known Member

    Registriert seit:
    11. November 2010
    Beiträge:
    72
    Zustimmungen:
    0
    Hallo,

    ich hatte mal ein ähnliches Problem. Ich habe es so gelöst:

    Im Backend kann man bei der Menü-Erstellung einen optionalen Titel für jedes Menü-Element vergeben. Hier habe ich dann manuell für jeden Punkt einen slug Platzhalter gesetzt, zum Beispiel "[menu_slug_home]", "[menu_slug_about]" usw.

    Als nächstes habe ich diese Funktion in die functions.php geschrieben:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    In der header.php habe ich dann statt wp_nav_menu() meine eigene Funktion verwendet:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wichtig: Achte darauf, dass echo=0 gesetzt ist!

    Diese Funktion holt sich dann das Menü, erkennt den Platzhalter (falls vorhanden) und setzt eine neue CSS-Klasse "menu-[slug]" hinter "menu-item". Der Platzhalter aus dem titel wird entfernt.

    Jetzt kannst du im style.css die einzelnen Menüpunkte stylen.
     
    #2 Art4, 12. November 2010
    Zuletzt bearbeitet: 30. November 2010
  3. kristianbu

    kristianbu New Member

    Registriert seit:
    1. September 2010
    Beiträge:
    2
    Zustimmungen:
    0
    Vielen Dank für deine Antwort. Das ist eine gute Idee. So werde ich es dann auch nutzen. Schade aber, dass es nicht noch eine Möglichkeit direkt in der wp_nav_menu Funktion gibt.
     
  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