显示不带超链接的自定义分类

时间:2014-06-11 作者:Hal Atkins

我希望得到一些帮助,了解如何最好地将帖子的自定义分类法仅显示为文本(而不是标记内的链接)。

我有一个被其他几页调用的小模板文件,该模板文件的工作是为一篇文章提供引用-以下是完整的代码:

<div class="ehp_citation_block">
   <h6><strong><?php the_category(\' | \'); ?></strong></h6>
   <span class="alignright"><?php the_terms( get_the_ID(), \'ehp_volumes\' ); ?></span>
   <?php the_field(\'ehp_citation\'); ?>
   </div>
php文件的这一部分:

<?php the_terms( get_the_ID(), \'ehp_volumes\' ); ?>
它的工作是显示分类法,但它被包装在超链接中。是否有只返回分类法文本的属性?我需要改用变量吗?

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

使用get_the_terms 而不是the_terms.

http://codex.wordpress.org/Function_Reference/get_the_terms

像这样的事情应该可以做到:

$terms = get_the_terms( get_the_ID(), \'ehp_volumes\' );
$term_count = count( $terms );
if ( $term_count > 0 && ! wp_error( $terms ) ) {
  $terms = array_values( $terms ); // reset keys for easier looping. by default the key matches the term id
  for( $i = 0; $i <= $term_count; $i++ ) {
    $output.= $terms[$i]->name;
    $output.= ( $i < $term_count-1 ? \', \' : null ); // add commas between terms, but not to the last one
  }
  echo $output;
  unset( $output );
}
unset( $terms, $term_count );
以下是基于评论的更新建议(需要能够订购条款说明)。要完成此用途wp_get_object_terms 而不是get_the_terms 因为它接受第三个参数,允许您对结果进行过滤和排序。

实际上,我更喜欢这个——简单得多。

$terms = wp_get_object_terms(
  $post->ID,
  \'ehp_volumes\',
  array(
    \'orderby\' => \'name\',
    \'order\' => \'DESC\',
    \'fields\' => \'names\'
  )
);
echo ( ! is_wp_error( $terms ) ? implode( \', \', $terms ) : \'null\' );
unset( $terms );

结束

相关推荐

How to list Custom Taxonomy

我有一个WordPress分类法,我想知道是否有这样的分类法: <ul id=\"portfolioFilter\"> <li class=\"filter\" data-filter=\"all\">All</li> <li class=\"filter\" data-filter=\"categ