如何在POST中显示所有分类中的所有术语,而不是分别显示每个分类的术语?

时间:2019-06-10 作者:Piotr Milecki

如果我想用自定义分类法显示分配给自定义帖子的所有术语,我可以使用例如。

<?php the_terms( $post->ID, \'custom-taxonomy\', \'\', ", ", \'\' ); ?>
但在这个解决方案中,我需要指定分类法的名称。

我想显示分配给post分类法的所有术语,但要单独显示。例如,如果我把分类法称为“holidays“和”countries“我想这样展示他们的术语:

<div>
    <span>[terms of "holidays"]</span>
    <span>[terms of "countries"]<span>
</div>
我怎样才能自动做到这一点,而不给出分类法的名称?

谢谢

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您可以通过以下方式获取为帖子类型注册的分类get_object_taxonomies(). 如果直接传递post对象,则甚至不需要显式命名post类型。

然后,您可以循环该函数的结果以获得所需的结果:

$taxonomies = get_object_taxonomies( $post );

foreach ( $taxonomies as $taxonomy ) {
    the_terms( $post->ID, $taxonomy, \'<span>\', ", ", \'</span>\' );
}

相关推荐

taxonomy terms, inverted

我有一个分类法,它将是品牌,儿童项目是模板。我有密码single.php 显示详细信息。 <div class=\"box2\"> <div class=\"faixa\"> <div class=\"marca\">MARCA <div class=\"marca\"> <?php $term_