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

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

Я пытаюсь зациклить в портфеле 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; ?>
Другие вопросы по тегам