Khi tôi đang tìm kiếm tương tự nhưng để có được điều khoản của một bài đăng, cuối cùng tôi đã biên soạn bài này, và nó hoạt động với tôi.
Những gì nó làm:
• nó nhận được tất cả các điều khoản của một tên phân loại cho một bài viết cụ thể.
• đối với phân loại chữ tượng hình với hai cấp độ (ví dụ: level1: 'country' và level2: 'city'), nó tạo ra một h4 với level1 theo sau là danh sách ul của level2 và cấp độ này cho tất cả các mục level1.
• nếu phân loại không phân cấp, nó sẽ chỉ tạo một danh sách ul của tất cả các mục. Đây là mã (tôi viết nó cho tôi vì vậy tôi đã cố gắng chung chung như tôi có thể nhưng ...):
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>';
};
};
Vì vậy, cuối cùng bạn gọi hàm này bằng (rõ ràng, bạn thay thế my_taxonomy bằng hàm của bạn): finishingLister('my_taxonomy');
Tôi không giả vờ nó hoàn hảo nhưng như tôi đã nói nó hiệu quả với tôi.