Wie sollte ich ein benutzerdefiniertes Menü walker für dieses Setup erstellen?

Ich habe eine Menüstruktur, die ich in HTML + CSS erstellt habe, die ich in ein WordPress-Menü integrieren möchte, aber ich bin neu in der Erweiterung der Walker-class und fragte mich, ob mir jemand ein Beispiel zeigen könnte, wie es funktionieren könnte. Der Code, den ich ausgeben möchte, ist unten:

   

Die Tags nav und ul umschließen das gesamte Menü und müssen nicht wiederholt werden.

Die li für eine einzelne Seite ohne untergeordnete Seiten benötigt nur ein Anchor-Tag innerhalb einer leeren li, außer wenn die Seite aktuell ist, und fügen Sie die entsprechende ID zum a-Tag hinzu.

Wenn ein übergeordnetes Element mit untergeordneten Elementen vorhanden ist, zeigen Sie zuerst die übergeordnete Verknüpfung mit einer “sf-with-ul” -class für das a-Tag an, und erstellen Sie dann eine weitere ul-Gruppe mit ihren li-untergeordneten Elementen.

Kann mir hier jemand zeigen, wie ich das erreichen kann? Vielen Dank.

Solutions Collecting From Web of "Wie sollte ich ein benutzerdefiniertes Menü walker für dieses Setup erstellen?"

Ich kann mir nur vorstellen, dass das Hinzufügen von classn und IDs dem Styling dient. Ich verstehe den Grund dafür nicht wirklich. Dies ist die genaue Struktur eines generischen WP-Menüs und der classn und IDs:

  • Die aktuelle Seite erhält eine class von ‘current-menu-item’, so dass die ID nicht benötigt wird. Zeige einfach darauf wie:

     nav .current-menu-item 
  • Wenn ein Menüelement untergeordnete Elemente hat, erhält es eine class von ‘menu-item-has-children’, so dass Sie das li mit dieser class und dann das direkte untergeordnete Objekt auswählen können:

     .menu-item-has-children > a 
  • Ein weiteres UL in der li mit Kindern wird automatisch erstellt, und Sie können es so auswählen, so dass die ‘sf-with-ul’-class auf dem Kind der verschachtelten ul nicht benötigt wird:

     .menu-item-has-children > a ul li 

Für mich ist der Walker für kompliziertere Aufgaben wie das Abrufen von Daten aus dem Backend und dann das Ändern des Menüs mit diesen Daten, beispielsweise das Hinzufügen von HTML-Datenattributen zu hrefs. Wieder weiß ich nicht, was Sie erreichen wollen, aber es ist nur Styling, IMO der Walker ist in diesem Fall ein Overkill.