显示自定义帖子类型的类别名称

时间:2015-05-22 作者:Johann

因此,我有一个自定义查询,在其中显示一些自定义帖子类型的结果帖子,称为“staff”。此自定义帖子类型链接到名为“department”的自定义分类法。我可以显示结果,但无法打印链接到每个帖子的类别。

这是我的代码:

        <?php
          $args = array(
            \'post_type\' => \'staff\', \'posts_per_page\' => -1, \'orderby\' => \'menu_order\', \'order\' => \'ASC\',
            \'tax_query\' => array(
              array(
                \'taxonomy\' => \'departments\',
                \'field\' => \'slug\',
                \'terms\' => \'board\'
              )
            )
          );
          $loop = new WP_Query( $args );
        ?>

        <?php if( $loop->have_posts() ): ?>

            <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

                    <p class="text-center name"><?php the_title(); ?></p>
                    <?php the_category(\' \'); ?>

            <?php endwhile; ?>        

        <?php endif; ?>
我想问题是我正在使用,但我不确定。

有什么想法吗?有什么问题吗?

谢谢

3 个回复
最合适的回答,由SO网友:Johann 整理而成

这就是我需要的:

<?php
$terms = get_the_terms( $post->ID , \'board\' );
foreach ( $terms as $term ) {
echo $term->name;
}
?>

SO网友:Yasssine ELALAOUI

使用以下术语:

$terms = get_the_terms($post->ID, \'Enter_your_taxonomy_here\' );
if ($terms && ! is_wp_error($terms)) :
    $tslugs_arr = array();
    foreach ($terms as $term) {
        $tslugs_arr[] = $term->slug;
    }
    $terms_slug_str = join( " ", $tslugs_arr);
endif;
echo $terms_slug_str;

SO网友:K H

如果有人在2019年寻找这个。这样,您就可以获得带有URL的自定义帖子类型名称

 <?php
    $terms = wp_get_post_terms( $post->ID, \'PLACE-HERE-YOUR-TAXONOMY\');
    foreach ( $terms as $term ) {
       $term_link = get_term_link( $term );
       echo \'<a href="\' . $term_link . \'">\' . $term->name . \'</a>\' . \' \';
       }
  ?>

结束

相关推荐

PRE_GET_POSTS:仅对某些过帐类型使用TAX_QUERY

我有默认的帖子类型帖子(帖子类型:post) 和自定义帖子类型帖子(帖子类型:cpt). 后者有分类法(cpt_tag).我想在我的首页上显示所有默认的帖子类型帖子(未过滤)、和一些cpt 帖子类型帖子,仅当它们具有特定cpt_tag.代码为:add_action( \'pre_get_posts\', \'get_posts_plus_cpt_with_certain_tag\' ); function get_posts_plus_cpt_with_certain_tag( $que