Подобрал для себя код для настройки категорий, возможно и вам сгодится.
Как вывести подкатегории текущей категории
Выводим подкатегории текущей категории, если у текущей категории нет подкатегорий выводим подкатегории родителя, а li текущей категории присваеваем class cat_active. Код вставляем в catecory.php или arhive.php
<?php
$categories = get_categories('parent='.$cat.'');
if ($categories) {
echo '<ul>';
foreach ($categories as $category) { ?>
<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a></li>
<?php }
echo '</ul>';
} else {
$catlevelup = get_category(get_query_var('cat'),false);
$catlevelupid = $catlevelup->category_parent;
$categories = get_categories('parent='.$catlevelupid.'');
echo '<ul>';
foreach ($categories as $category) { ?>
<li<?php if ($category->term_id == $cat) { ?> class="cat_active"<?php } ?>><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a></li>
<?php }
echo '</ul>';
} ?>
Если нужно вывести просто подкатегории текущей категории, то код такой
<?php
$categories = get_categories('parent='.$cat.'');
echo '<ul>';
foreach ($categories as $category) { ?>
<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a></li>
<?php } echo '</ul>'; ?>
Если нужно вывести подкатегориии с изображениями то код следующий:
<?php
$categories = get_categories('parent='.$cat.'');
echo "<ul>";
foreach ($categories as $category) { ?>
<?php if($imgrubriki=get_field("imgrubriki",$category)){?>
<div class="fp_katalog_thumb"><a href="<?php echo get_category_link($cat->term_id);?>"><img src="<?php echo $imgrubriki;?>" /></a></div>
<?php }?>
<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a></li>
<?php }
echo "</ul>";
?>
Для добавления изображений использую плагин Advanced Custom Fields
Если нужно вывести категории списком с вложенными подкатегориями делаем так:
<?php
$categories = get_categories('parent='.$cat.'');
echo "<ul>";
foreach ($categories as $category) { ?>
<?php if($imgrubriki=get_field("imgrubriki",$category)){?>
<div class="fp_katalog_thumb"><a href="<?php echo get_category_link($cat->term_id);?>"><img src="<?php echo $imgrubriki;?>" /></a></div>
<?php }?>
<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a>
<?php $catsub = $category->term_id; $categories = get_categories('child_of='.$catsub.'');
?> <ul> <?php
foreach ($categories as $category) { ?>
<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a>
<?php }
?>
</ul>
</li>
<?php }
echo "</ul>";
?>
Можно вывести список категорий, разными параметрами: заголовок, стиль итд. При этом автоматом будут присваеваться классы активным рубриками и прочие фишки. Делается это с помощью функции wp_list_categories
<?php echo '<ul class="menu_left">'; wp_list_categories( 'child_of=5&title_li=&style=list&hide_empty=1&hierarchical=true¤t_category=0' ); echo '</ul>'; ?>
Как вывести описание категории
Выводим описание категории на всех страницах
<?php echo category_description(); ?>
Выводим только на титульной странице категории и исключаем страницы пагинации и прочие
<?php
if (is_category()) {
if (is_paged()) { echo '';}
else {
echo category_description(); }
} ?>
