我正在使用内置的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()
内显示我的帖子的分类名称?
答案 0 :(得分:1)
您需要将分类法传递给get_the_terms()
:
$my_tax_terms = get_the_terms( $dev->ID, 'developer_category' );
这将返回一个您可以循环的术语数组。此外,你不能只是echo
因为它是一个数组。您可以print_r( $my_tax_terms )
查看获得的内容,但是您需要循环搜索结果以获取所需信息。