Вывод списка рубрик

Необходимо в шаблоне tags.php вывести все рубрики (до второго уровня вложенности), содержащие посты, которые содержат текущий тег (тот, по клику на который мы попадаем на шаблон tags.php). Спасибо.

tek
Оцените автора
Добавить комментарий

  1. ctapbiu

    решение в лоб:

    global $wp_query;
    
    $r = new WP_Query(array_merge(array('posts_per_page'=>-1), $wp_query->query));
    if ($r->have_posts()):
    $cats = array();
    
    while ($r->have_posts()): $r->the_post();
    $cats = array_merge($cats, get_the_category());
    endwhile;
    if (!empty($cats)) {
      $cat_str = '';
      foreach ($cats as $category) {
        $cat_str .= $category->cat_ID . ',';
      }
      $cat_str = substr($cat_id, 0, -1);
    
      echo '';
      wp_list_categories('title_li=&depth=2&orderby=name&include='.$cat_str);
      echo '';
    }
    
    endif;
    wp_reset_postdata();
    

    пропишите это в файле tag.php вашей темы

    при большом кол-ве постов будет выполняться медленно
    и тогда лучше сделать через несколько запросов, нежели через стандартные ф-ции ВП

    Ответить