Das Plugin, das Du verwendest, baut halt nur die Links entsprechend, prüft aber scheinbar nicht, ob die aktuelle Seite die verlinkte ist. Es ist ja auch nicht speziell für Kategorien sondern allgemein für Links zu anderen webseiten gedacht.
Willst Du immer alle Kategorien im Header haben? Ich habe für meine Seite vor kurzem etwas ähnliches händisch gebastelt, was dieses Problem nicht hat. Da werden alle Kategorien der ersten Ebene als Seiten in den wp_list_pages-Aufruf eingefügt. Das klappt sehr schön und markiert auch die aktuelle Kategorie. Bei Bedarf kann man da auch Kategrorien von ausschließen. Es wird dann natürlich immer ausgeführt, wenn wp_list_pages verwendet wird -- wäre also die Frage, ob Du irhgendwo auch mal nur die Seiten ausgeben willst. Ansonsten sind das 25 Zeilen Code in der functions.php des Themes. Achtung -- ich habe die Funktion etwas angepasst, da ich sie bei mir als Unterseiten einer Seite eingefügt habe. Habe das nun aber nicht noch mal getestet, kann also ggf. noch Fehler enthalten.
/**
* Customize the output of wp_list_pages by adding categories as pages to the
* end.
*
* @param output The output as generated by wp_list_pages.
* @return The modified output.
*/
function sd_add_categories_as_pages($output) {
// get the ID of the current category to highlight it in the menue (for single post views)
$current_category = 0;
if (is_single()) {
$categories = get_the_category();
if (count($categories) > 0) {
$current_category = $categories[0]->term_id;
}
}
// add it at the end of the pages list
$add_this = wp_list_categories('hierarchical=false&title_li=&echo=0&depth=1¤t_category=' . $current_category);
return $output . $add_this;
}
// add the categories as pages
add_filter('wp_list_pages', 'sd_add_categories_as_pages');
Alles anzeigen