Наличие настраиваемого типа записей «pubs» с настраиваемыми таксономическими «типами», в которых администратор вводит родительские термины и их дочерние термины.
Используя этот код, чтобы получить все условия текущего типа сообщения:
$object_terms = wp_get_object_terms($post->ID, 'types', array('fields' => 'all'));
if ($object_terms) {
echo '' . '' . '' ;
$res = '';
foreach ($object_terms as $term) {
$res .= $term->name . ',';
}
echo rtrim($res,' ,').'' . '';
}
этот код отображает оба родителя & детские условия.
Есть ли способ исключить родительские термины из результата? Мне нужен код для отображения только дочерних терминов, связанных с текущим постом.
Не проверено, но я думаю, что если вы поместите следующее в цикл foreach на самом верху, вы получите только дочерние элементы:
if ($term->parent == 0) continue;
Просто для того, кто еще ищет:
Решение для случаев, когда у вас есть несколько уровней иерархии, и вы хотите только последний уровень.
$term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
foreach ($term_array as $term_id){
$children=get_term_children($term_id, $taxonomy);
if(empty($children)){
$exclude=$term_id;
}
}