In a site I have using Wordpress 3.0, when I'm in a single post, the navbar showing the categories doesn't give the parent category the class of "current_cat" and therefore that category is not highlighted.

How can I make Wordpress give the parent category that class in single_post mode?

1 Answer 1


I found the answer here.
Add to functions.php the following function and hook:

function sgr_show_current_cat_on_single($output) {

global $post;

if( is_single() ) {

    $categories = wp_get_post_categories($post->ID);

    foreach( $categories as $catid ) {
        $cat = get_category($catid);
        // Find cat-item-ID in the string
        if(preg_match('#cat-item-' . $cat->cat_ID . '#', $output)) {
            $output = str_replace('cat-item-'.$cat->cat_ID, 'cat-item-'.$cat->cat_ID . ' current-cat', $output);

return $output;

add_filter('wp_list_categories', 'sgr_show_current_cat_on_single');
  • Very good information. Choose your your answer as the best so this will show as an answered question.
    – Chris_O
    Commented Sep 21, 2010 at 0:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.