在get_posts()中检索post taxonomy

时间:2017-04-06 22:10:33

标签: php html wordpress foreach

我正在使用内置的Wordpress get_posts()功能从我的自定义帖子类型中检索帖子。我能够打印/检索帖子的所有数据,除了帖子的分类术语(我使用register_taxonomy( 'developer_category', 'developer', $args );注册为自定义分类法这是我显示帖子的代码。

<?php $devs = get_posts([
    'post_type'     => 'developer',
    'posts_per_page'    => '8',
    'orderby' => 'rand'
]); ?>

<div id="loaded-devs">
    <?php $post_count = 1; ?>
    <?php foreach ($devs as $dev): ?>
        <div class="loaded-dev" id="dev<?php echo $post_count; ?>"> 
            <?php echo get_the_post_thumbnail( $dev->ID, 'small' ); ?>
            <a href="<?php echo get_permalink($dev); ?>" class="full-link"></a>
            <h2><?php echo $dev->post_title; ?></h2>
            <p><?php echo get_the_terms($dev->ID); ?> Developer</p>
        </div>
        <?php $post_count ++; ?>
    <?php endforeach; ?>
</div>

<?php wp_reset_postdata(); ?>

我在上面使用get_cat_name返回&#39;未分类&#39;,我相信,因为它正在寻找默认的Wordpress类别,我按自定义分类法进行分类。如何在get_posts()内显示我的帖子的分类名称?

1 个答案:

答案 0 :(得分:1)

您需要将分类法传递给get_the_terms()

$my_tax_terms = get_the_terms( $dev->ID, 'developer_category' );

这将返回一个您可以循环的术语数组。此外,你不能只是echo因为它是一个数组。您可以print_r( $my_tax_terms )查看获得的内容,但是您需要循环搜索结果以获取所需信息。