WordPress — Единый таксономический термин для ссылки на категорию термина

В настоящее время я отображаю пользовательский термин таксономии для своего поста на странице single-resources.php. Однако мне нужно, чтобы он ссылался на страницу категории таксономии, а не на ссылку этой страницы.

Вот что у меня сейчас есть:

<?php
$term_list = wp_get_post_terms($post->ID, 'resourcecategory', array("fields" => "all"));
foreach($term_list as $term_single) {
echo '<a class="icon-hv-link" href="' . esc_url( $term_link ) . '"><i class="icon-left-open-big"></i><span>' . $term_single->name . '</span></a>';
}
?>

Ранее я делал это, что работает, однако отображает каждый термин таксономии, а не тот, который специфичен для поста, поэтому он не работает 🙁

<?php $terms = get_terms( 'resourcecategory' );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
echo '<a class="icon-hv-link" href="' . esc_url( $term_link ) . '"><i class="icon-left-open-big"></i><span>' . $term->name . '</span></a>';
}
}?>

У кого-нибудь есть идеи как-нибудь объединить эти два?

0

Решение

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

  <?php
$terms = get_the_terms( $post->ID, 'resourcecategory');
foreach($terms as $term) {
echo '<a class="icon-hv-link" href="' . get_term_link($term) . '"><i class="icon-left-open-big"></i><span>' . $term->name . '</span></a>';
}
?>

Вам нужно использовать get_the_terms вместо get_terms, Как уже упоминалось в комментариях, не используйте wp_get_post_terms так как это вызывает ненужные обращения к базе данных

1

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

Других решений пока нет …

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