Answers:
我不确定“第一”分类法是什么意思,但是,
$terms = get_the_terms( $post->ID, 'mytaxonomy' );
返回一个分类法术语对象数组,因此
$term = array_pop($terms);
会给你数组中的第一项。然后:
echo '<a href="'.get_term_link($term->slug, 'mytaxonomy').'">'.$term->name.'</a>,'
(您可能想包括一些if语句,以防返回空数组或错误(请参阅参考资料is_wp_error
)
从PHP 5.4开始,您可以直接取消对数组的引用,因此,只需获得第一个条件即可。
$first_term = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0];
var_dump( $first_term );
如果您需要第一个术语的特定属性(例如术语名称),则可以执行以下操作
$first_term_name = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0]->name;
var_dump( $first_term_name );
请注意,这确实有其缺点,因为WP_Error
如果分类法无效,您将获得一个对象。另外,如果返回的数组为空,您还将收到未定义的数组键警告,因此请谨慎使用。
它为我工作。它仅带来第一个类别作为文本,没有锚点。
$terms = get_the_terms( $post->ID , 'your_custom_taxonomy' );
foreach( $terms as $term ) {
print $term->name;
break;
unset($term);
}
break;
会真正停止您的声明,unset
不会触发,只会处理第一个项目。
unset( $term );
应该是后您的foreach
循环,而不是里面它:-)
直接访问对象的密钥如何?
$terms = get_the_terms( $post->ID, 'sitecat' );
$first_term = $terms[0];
这样您就可以访问该对象。
echo $first_term->name;