Как получить только дочерние термины текущего типа сообщения?

Наличие настраиваемого типа записей «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,' ,').'' . '';
}

этот код отображает оба родителя & детские условия.
Есть ли способ исключить родительские термины из результата? Мне нужен код для отображения только дочерних терминов, связанных с текущим постом.

0

Решение

Не проверено, но я думаю, что если вы поместите следующее в цикл foreach на самом верху, вы получите только дочерние элементы:

if ($term->parent == 0) continue;
0

Другие решения

Просто для того, кто еще ищет:

Решение для случаев, когда у вас есть несколько уровней иерархии, и вы хотите только последний уровень.

$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;
}
}
0

По вопросам рекламы [email protected]