Я - не большой специалист в wordpress, но, так как других ответов нет, приведу свой код из темы. Тут меню на странице рубрики 2 уровня, включающий соседние рубрики и записи данной рубрики:
$current_cat_id = get_query_var('cat');
$parent_cat = get_category(get_category($current_cat_id)->parent);
$categories = get_categories(array(
'orderby' => 'id',
'parent' => $parent_cat->term_id,
'hide_empty' => false,
));
echo '<nav class="aside-panel"><ul>';
foreach ($categories as $category) {
if ($category->term_id == $current_cat_id) $isThisCat = true;
else $isThisCat = false;
echo '<li class="panel-item';
if ($isThisCat) echo ' is-active';
echo '">
<a href="' .get_category_link ($category->term_id). '" class="label">' .writeTitle($category->name). '</a>';
if ($isThisCat) {
echo '<ul class="drop-menu">';
if ( have_posts() ){
while (have_posts()) { the_post();
echo '<li><a href="' .get_the_permalink(). '" class="link">' .nobrArticle(get_the_title()). '</a></li>';
}
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul></nav>';