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

<div> vor wp_nav_menu?

Dieses Thema im Forum "Design" wurde erstellt von bionade, 24. Juni 2016.

  1. bionade

    bionade Well-Known Member

    Registriert seit:
    11. August 2008
    Beiträge:
    409
    Zustimmungen:
    0
    Hi Community,
    ich will bei einem Theme (Divi) in ein Menü zusätzliche <div>s aufnehmen. Das Theme funktioniert so, dass das Menü über wp_nav_menu aufgerufen wird. Ich habe in der Entwicklerdoku nachgesehen, da habe ich keine Möglichkeit gefunden irgendetwas vor alle Menüpunkte oder vor dem öffnenden <ul> reinzuschreiben. Die einzige Möglicheit wäre es vor die jeweiligen Listenpunkte zu schreiben. Das nützt mir aber leider nichts.

    Hat jemand eine Idee, wie man das hinkriegen kann?

    Ich skizziere die Sache mal mit Code:

    derzeit im Quelltext
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    gewünscht im Quelltext
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Danke schon mal vorab, ich stehe gerade auf der Leitung. ;)
    Raphael
     
  2. Edi

    Edi Well-Known Member

    Registriert seit:
    26. Juli 2006
    Beiträge:
    3.728
    Zustimmungen:
    1
    #2 Edi, 24. Juni 2016
    Zuletzt bearbeitet: 24. Juni 2016
  3. helix

    helix Well-Known Member

    Registriert seit:
    28. Juli 2011
    Beiträge:
    1.808
    Zustimmungen:
    27
    Hast du ein Child-Theme?

    Dann in der entsprechenden Template-Datei, also wahrscheinlich header.php, die Ausgabe deines nav-Menüs entsprechend anpassen:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Durch das leergelassene Feld bei „container“ wird der Container, also das umschließende div, weggelassen und kannst du dein angepasstes mit deinem Inhalt dafür einsetzen. (Die theme_location ist ziemlich sicher bei dem Theme irgendwie auch im Aufruf des nav-Menüs mit drin.) Wichtig ist, dass du in dein umschließendes div die Klassen und evtl. ids mitnimmst, die das divi-Theme vorgibt, weil da vielleicht Styles dranhängen.
    Siehe: https://developer.wordpress.org/reference/functions/wp_nav_menu/

    @Edi: Ach, da kann ich mir schon sinnvolle Anwendungen dafür vorstellen. Ich muss ja auch nicht jedes Element fünffach verpackt haben …

    Gruß
    helix

    Ergänzung: Wenn du damit nicht durchsteigst, vielleicht mal posten, was im divi-Theme genau in der Ausgabe fürs nav-Menü steht, also den ganzen Befehl mit dem, was da in den runden Klammern steht.
     
  4. Edi

    Edi Well-Known Member

    Registriert seit:
    26. Juli 2006
    Beiträge:
    3.728
    Zustimmungen:
    1
    Ich habe in der Zwischenzeit meine Antwort geändert. ;)

    Nein, es muss nicht alles xfach verschachtelt werden. So war auch meine Frage gemeint, wozu das gut sein solle. Denn wahrscheinlich gäbe es eine einfachere Lösung.
     
  5. bionade

    bionade Well-Known Member

    Registriert seit:
    11. August 2008
    Beiträge:
    409
    Zustimmungen:
    0
    Hi helix, das klingt voll logisch, ich werde mal in die Richtung arbeiten.

    @ Edi: hm, weiss nicht. Ich will da drei <div>s mit jeweils ziemlich viel Code for die Navi packen. Dafür scheint mir die Lösung mit a:before nicht die richtige zu sein.
     
  6. bionade

    bionade Well-Known Member

    Registriert seit:
    11. August 2008
    Beiträge:
    409
    Zustimmungen:
    0
    Danke an die bisherigen Antworten. Ich bin aber immer noch am Überlegen.

    Die Idee von helix geht leider nicht. Ich sehe in dem Theme nicht ganz die Ursache, aber aus irgendeinem Grund ist das mobile Menü, das ich ansprechen will, von einem <ul> mit der Klasse "mobile_menu" umgeben. Und ist absolut positioniert. Ich finde aber nicht, wo der <ul> Tag herkommt. Mit dem beschriebenen Vorgang, steht das, was ich schreiben will ,nicht mehr im Zusammenhang mit dem Menü, sondern durch die absolute Positionierung ganz wo anders. Die Idee habe ich also gleich wieder fallenlassen.

    Aber mit add_filter kann ich zusätzliche Menüpunkte in die function.php schreiben.
    Wusste ich nicht. ;)

    Das geht ca. so:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Das ist einfach und wenn ich den neuen Menüpunkt nur mobil anzeigen lassen will, kann ich ihn ja am desktop über CSS ausblenden {display: none;}
     
  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