Вывод данных о едином стандарте по таксономии

Я пытаюсь вывести ссылки на пользовательскую таксономию, назначенные одному сообщению на одной странице. Я пробовал другое, но получаю ошибки. Это самое близкое, что я могу получить. Ему просто нужно найти условия для текущей должности, а не выводить все термины таксономии.

<?php $term_id = 6; $taxonomy_name = 'categories'; $termchildren = get_term_children( $term_id, $taxonomy_name ); foreach ( $termchildren as $child ) { $term = get_term_by( 'id', $child, $taxonomy_name ); echo '<a href="' . get_term_link( $child, $taxonomy_name ) . '">' . $term->name . '</a> '; } ?> 

@Howdy_McGee Я попробовал следующий код, где «принятие-статус» – термин для категорий «таксономия» пользовательской тактики. Я ищу детей «статуса усыновления». Он ничего не выводит. Ошибок нет.

 <?php get_the_terms( $post->ID, 'adoption-status' ); ?> 

Следующий код почти работает, но отображает все «категории» текущего сообщения, а не только слова «статус принятия» (или подкатегории)

 <?php echo get_the_term_list( $post->ID, 'categories', '', '', '' );?> 

Solutions Collecting From Web of "Вывод данных о едином стандарте по таксономии"

Надеюсь, я понимаю ваш вопрос. Вы ищете все термины, связанные с одним сообщением, но только термины, которые являются детьми, к сроку adoption-status

Чтобы получить все условия из определенного сообщения, вы можете использовать wp_get_post_terms() . Это вернет все термины конкретной таксономии, связанные с этой почтой.

Вам также необходимо будет использовать get_term_children() чтобы получить все дочерние термины из вашего условия adoption-status

Как только у вас есть все это, просто сравнить эти два и вернуть только те термины, которые связаны с этим сообщением, и является дочерним термином для данного термина.

Вы можете попробовать что-то вроде следующего ( ПРИМЕЧАНИЕ: соответственно измените имена имен и таксономии )

 $child_terms = get_term_children(21, 'category'); $all_terms = wp_get_post_terms($post->ID, 'category'); foreach ( $all_terms as $term ) { if( !in_array($term->term_id, $child_terms ) ) continue; echo $term->name; }