Отображение пользовательских категорий в пользовательском цикле сообщений
Я учусь создавать раздел Портфолио. Я уже создал собственный тип публикации и собственную таксономию для категорий портфолио. Категории работают нормально, я могу выбрать, какую категорию я хочу для каждого элемента портфолио.
Я пытаюсь зациклить в портфеле post_type, чтобы получить элементы, и все работает нормально, но я не могу получить категории каждого элемента.
<?php $loop = new WP_Query( array( 'post_type' => 'portfolio') ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="panel">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p><?php the_content(); ?></p>
<p><?php the_category(); ?></p>
</div>
<?php endwhile; wp_reset_query(); ?>
Я использую приведенный выше код, но категории не отображаются.
Я пытался отдельно отобразить категории и работает нормально с этим кодом:
<?php
$args = array( 'taxonomy' => 'portfolio_categories', );
$categories = get_categories($args);
foreach($categories as $category) { ?>
<?php echo $category->name;?>
<?php }
?>
Итак, как я могу отобразить все категории элементов портфолио в цикле?
1 ответ
Решение
Попробуйте следующий код, это напечатает все пользовательские таксономии сообщения.
<?php
$terms = get_the_terms( $post->ID, 'portfolio_categories' );
if ( $terms && ! is_wp_error( $terms ) ) :
$taxonomies = array();
foreach ( $terms as $term ) {
$taxonomies[] = $term->name;
}
$taxonomies = implode(", ", $taxonomies );
?>
<p class="Custom-Taxonomies">
Custom Taxonomies: <span><?php echo $taxonomies; ?> </span>
</p>
<?php endif; ?>