Como obter current_cat na barra de navegação, em um único post

6

Em um site que tenho usando o Wordpress 3.0, quando estou em uma única postagem, a barra de navegação mostrando as categorias não dá à categoria pai a classe "current_cat" e, portanto, essa categoria não é destacada.

Como posso fazer o Wordpress dar à categoria pai essa classe no modo single_post?

    
por Lea Cohen 20.09.2010 / 15:15

1 resposta

5

Encontrei a resposta aqui .
Adicione a functions.php a seguinte função e gancho:

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');
    
por Lea Cohen 20.09.2010 / 15:20