Как я перечисляю категории и общие категории для сообщений ниже этих категорий?

У меня четыре категории:

  • 2013
  • 2012
  • 2011
  • 2010

Эти категории содержат сообщения, которые также классифицируются

  • Cat A
  • Cat B
  • Cat C

Итак, в основном есть куча сообщений, которые классифицируются (2013, Cat A), (2013, Cat B), (2012, Cat A), (2012, Cat C) и т. Д.

Без необходимости добавлять Cat A, Cat B и Cat C как четыре набора дочерних категорий в 2013, 2012, 2011 и 2010 годах, я могу программно перечислить эти уникальные подкасты с сообщениями каждый год, чтобы они отображались как:

  • 2013
    • Cat A
    • Cat B
    • Cat C
  • 2012
    • Cat A
    • Cat B
    • Cat C
  • 2011
    • Cat A
    • Cat B
    • Cat C
  • 2010
    • Cat A
    • Cat B
    • Cat C

И имеют ли эти подкаты ссылки на свою страницу категории?

Solutions Collecting From Web of "Как я перечисляю категории и общие категории для сообщений ниже этих категорий?"

Непроверенный, но я думаю, что это сделает трюк!

<?php // Get date Categories $date_cats = get_categories(array( 'include' => '1,2,3,4' )); // Loop through date categories foreach($date_cats as $date_cat) : // Get link of current date category $date_cat_link = get_category_link( $date_cat->cat_ID ); ?> <ul> <li><a href="<?php echo $date_cat_link; ?>"><?php echo $date_cat->name; ?></a> <ul> <?php // Get ID of current date category $date_cat_id = $date_cat->cat_ID; // Get ABC categories $abc_cats = get_categories(array( 'include' => '5,6,7' )); // Loop through ABC catagories foreach($abc_cats as $abc_cat) : // Get ID of current ABC category $abc_cat_id = $abc_cat->cat_ID; // Get link of current ABC category $abc_cat_link = get_category_link( $abc_cat->cat_ID ); // Run a query for posts that are in this date category AND this ABC category $query = new WP_Query( array( 'posts_per_page' => -1, 'category__and' => array( $date_cat_id, $abc_cat_id ) )); // If there are posts, show this ABC category's name and link if ( $query->have_posts() ) { ?> <li><a href="<?php echo $abc_cat_link; ?>"><?php echo $abc_cat->name; ?></a></li> <?php } ?> <?php endforeach; ?> </ul> </li> </ul> <?php endforeach; ?>