Отображать интерактивный список определенной таксономии в моем пользовательском типе сообщений

Я затрудняюсь даже придумать для этого название.

Если я редактирую код старого поста в блоге регулятора (content.php) и добавляю

<?php the_category(', ') ?> 

Я получаю интерактивный список всех категорий, к которым принадлежат публикации.

У меня есть настраиваемый тип сообщений, называемый исследованием, и связанная с ним пользовательская таксономия, называемая темами. Я редактирую content-research.php. Я просто хочу, чтобы темы отображались одинаково при просмотре исследовательского поста.

Я старался

<?php the_topic(', ') ?> 

и это был полный провал.

Поэтому я надеюсь, что есть простые решения, потому что у меня есть некоторые дополнительные таксономии для этого типа сообщений, которые я также хотел бы добавить.


person mwz    schedule 24.02.2018    source источник


Ответы (2)


Функция the_category() ищет только термины из таксономии «категория», как вы можете видеть в основном файле https://core.trac.wordpress.org/browser/tags/4.9.2/src/wp-includes/category-template.php строка 75

Вы можете написать свою собственную функцию или использовать этот фрагмент:

$terms = get_the_terms( $post->ID , 'taxonomyname' );

foreach ( $terms as $term ) {
    echo '<a href="'.get_term_link($term->term_id).'">'.$term->name</a>.' ';
}
person Ovidiu    schedule 24.02.2018
comment
Привет, спасибо за ваш ответ, он добавляет ссылки для соответствующей таксономии, единственная проблема в том, что все они отображаются как $term-›name - person mwz; 24.02.2018
comment
просто нужна небольшая доработка - person mwz; 24.02.2018

Ответ от ovidiua2003 сработал, просто нужна была эта настройка.

      echo '<a href="'.get_term_link($term->term_id).'">'.$term->name.'</a> ';

Так что все было бы

<?php 
$terms = get_the_terms( $post->ID , 'taxonomy' );

foreach ( $terms as $term ) {
echo '<a href="'.get_term_link($term->term_id).'">'.$term->name.'</a>, ';
}
?>  
person mwz    schedule 24.02.2018