leacohen
  • 0
Учитель

Как получить current_cat в навигационной панели, в одном сообщении

  • 0

На сайте, на котором я использую WordPress 3.0, когда я нахожусь в одном сообщении, панель навигации, показывающая категории, не дает родительской категории класс «current_cat», и поэтому эта категория не выделяется.

Как я могу заставить WordPress предоставить родительской категории этот класс в режиме single_post?

Share
  1. Я нашел ответ здесь.
    Добавьте в functions.php следующую функцию и хук:

    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');
    
    • 0

Оставить ответ

You must login to add an answer.