Highlight current category in wp_list_categories

highlight current category in wp_list_categories

Beim erstellen des Blogs auf revilodesign.de ist mir aufgefallen, dass die Funktion wp_list_categories(); nicht automatisch die Hauptkategorie Highlight – also in meinem Fall „Blog“. Erst recht nicht, wenn ich in einem Beitrag bin. Also musste ich mich ein wenig umschauen und habe folgende Funktion gefunden, die ich in die functions.php kopiert habe.

Highlight current Category in WordPress

function tax_cat_active($output, $args) {
    if (is_single()) {
        global $post;
        $terms = get_the_terms($post->ID, 'category');
        if (!empty($terms)) {
            foreach( $terms as $term )
                if ( preg_match( '#cat-item-' . $term ->term_id . '#', $output ) )
                    $output = str_replace('cat-item-'.$term ->term_id, 'cat-item-'.$term ->term_id . ' current-cat', $output);
        }
    }
    return $output;
}
add_filter('wp_list_categories', 'tax_cat_active', 10, 2);

Durch die Funktion wird dem aktuellen List Item im ul.child die Klasse current-cat angehangen. Somit konnte ich also eine kleine aber effektive Javascriptzeile schreiben, die im Children Menu nach einem li mit der Klasse li.current-cat sucht. Wird eine entsprechende Klasse gefunden, so geht das Javascript zwei Ebenen nach oben und hängt der Hauptkategorie die Klasse current-cat-parent an.

jQuery('ul.children li.current-cat').parent().parent().addClass('current-cat-parent');

Somit konnte ich dir aktuelle Kategorie in wp_list_categories Highlight. Wer eine elegantere Lösung hat, der kann Sie mir auch gerne in die Kommentare schreiben, dann werde ich Sie in dem Beitrag ergänzen. Für meine Zwecke jedoch reicht es vollkommen aus.

oliver

Hinterlasse doch ein Kommentar zu Highlight current category in wp_list_categories

Wenn dir der Beitrag Highlight current category in wp_list_categories gefallen hat oder du Kritik bzw. Verbesserungsvorschläge hast, dann würde ich mich freuen, wenn Du ein Kommentar hinterlassen würdest.

Hinterlasse ein Kommentar zum Beitrag "Highlight current category in wp_list_categories"

Deine E-Mail-Adresse wird nicht veröffentlicht.