it-swarm.com.de

Menüpunkt als aktuellen Menüpunkt für Kategorie markieren

Ich habe einige Kategorien auf meiner WP Website. Wenn Benutzer diese Kategorien und Beiträge von ihnen sehen, möchte ich einen der Menüpunkte als aktiv markieren.

Wie kann ich einen meiner Menüpunkte so einstellen, dass er für diese Kategorien und Beiträge die Klasse "Aktueller Menüpunkt" hat?

1
moonvader

Ich benutze diese Funktionen. Zunächst müssen Sie Ihrem Menüelement eine benutzerdefinierte Klasse hinzufügen (Klasseneingabe in den Bildschirmoptionen zulassen, diese ist standardmäßig nicht sichtbar).

function mark_menu_item_as_active($classes, $item) {

    if( in_array('my-custom-class',$classes) && ( is_category('my-category') /* OR ...*/  ) )   {
        $classes[] = 'current-menu-item';
    }

    return $classes;
}
add_filter('nav_menu_css_class', 'mark_menu_item_as_active', 10, 2);

Diese Funktion durchläuft alle Menüelemente und Sie finden das Zielelement mit dieser benutzerdefinierten Menüklasse. Dann prüfen Sie, welche Bedingungen Sie haben (is_category, ...) und fügen eine weitere Klasse zu ihren Klassen hinzu (current-menu-item, ...).

2
Marek