Коли я шукав те саме, але щоб отримати умови однієї посади, нарешті я склав це, і це працює для мене.
Що це робить:
• він отримує всі умови назви таксономії для конкретної посади.
• для ієрахічної систематики з двома рівнями (наприклад: рівень1: 'країна' та рівень2: 'міста') вона створює h4 з рівнем1, а потім ul-списком рівня2 та цим для всіх елементів1 рівня.
• якщо систематика не є ієрархічною, вона створить лише ul-список усіх пунктів. ось код (я пишу його для мене, тому я намагався бути максимально загальним, але можу, але ...):
function finishingLister($heTerm){
$myterm = $heTerm;
$terms = get_the_terms($post->ID,$myterm);
if($terms){
$count = count($terms);
echo '<h3>'.$myterm;
echo ((($count>1)&&(!endswith($myterm, 's')))?'s':"").'</h3>';
echo '<div class="'.$myterm.'Wrapper">';
foreach ($terms as $term) {
if (0 == $term->parent) $parentsItems[] = $term;
if ($term->parent) $childItems[] = $term;
};
if(is_taxonomy_hierarchical( $heTerm )){
foreach ($parentsItems as $parentsItem){
echo '<h4>'.$parentsItem->name.'</h4>';
echo '<ul>';
foreach($childItems as $childItem){
if ($childItem->parent == $parentsItem->term_id){
echo '<li>'.$childItem->name.'</li>';
};
};
echo '</ul>';
};
}else{
echo '<ul>';
foreach($parentsItems as $parentsItem){
echo '<li>'.$parentsItem->name.'</li>';
};
echo '</ul>';
};
echo '</div>';
};
};
Отже, нарешті, ви викликаєте функцію цим (очевидно, ви замінюєте my_taxonomy на ваш): finishingLister('my_taxonomy');
Я не претендую, що це ідеально, але, як я вже сказав, це працює на мене.