So fügen Sie dem aktuellen Menüpunkt wp_nav_menu() eine “aktive” Klasse hinzu (einfacher Weg)
Lesezeit: 4 Minuten
mzrnsh
Ich erstelle ein benutzerdefiniertes WordPress-Design mit einem Starter-Design _Underscores und Bootstrap.
Ich möchte modifizieren wp_nav_menu damit es den aktuellen Menüpunkt zuweist .active Klasse statt der Vorgabe .current-menu-item. Ich benötige diese zur Nutzung .active Klasse von Bootstrap.
Hier ist, was ich habe (zusätzliches Material kommt von WP, also scrollen Sie bitte nach rechts):
Ich würde es vorziehen, dies ohne Änderung zu erreichen ../wp-includes/nav-menu-template.php und ohne Verwendung von JS.
UPDATE: Ich habe die Antwort kurz vor dem Posten dieser Frage gefunden, aber da es mir ziemlich schwer gefallen ist, sie zu finden, poste ich sie als QA, um hoffentlich jemandem etwas Zeit zu sparen.
mzrnsh
Fügen Sie einfach diesen Code in die Datei functions.php ein:
Hat super funktioniert. Haben Sie auch eine Lösung zum Verfolgen von untergeordneten Beiträgen? Es funktioniert auf meinem Blog-Link, aber nicht für die Kinderbeiträge.
– OneMohrTime
11. September 2016 um 19:21 Uhr
@OneMohrTime sehen Sie sich die andere Antwort unten an.
– Einhornist
4. August 2017 um 15:19 Uhr
Was ist mit einem Element? Wie kann ich eine „aktive“ Klasse hinzufügen? .current-menu-item a Element ?
– Fatih Toprak
9. Februar 2020 um 10:42 Uhr
Update 2022: Das funktioniert noch
– mzrnsch
5. Januar um 16:37 Uhr
Peerbolte
Um den Menüpunkt auch hervorzuheben, wenn eine der untergeordneten Seiten aktiv ist, suchen Sie auch nach der anderen Klasse (current-page-ancestor) Wie unten:
Perfekt, um Menüs komplett neu zu erstellen, zB zum Importieren aus anderen CMS wie Typo3 und Joomla!
– Chakmear
27. April 2021 um 8:44 Uhr
Wenn es sich bei Ihren Menüpunkten um Kategorien handelt und Sie diese beim Navigieren durch die Beiträge hervorheben möchten, prüfen Sie zusätzlich zu den vorherigen Antworten auch auf current-post-ancestor: