在没有Foreach循环的情况下获取术语名

时间:2015-04-17 作者:ultraloveninja

我目前有:

  <?php
  $terms = wp_get_post_terms( $post->ID, \'artist-genre\');
  foreach($terms as $term) : ?>
  <li>
    <?php echo $term->name; ?>

  </li>

<?php endforeach;?>
只需在名为artwork.

这很有效,但我觉得foreach 一方面,循环有点过头了。

如果不使用foreach 还是这是最好的方式?

2 个回复
SO网友:birgire

那么...怎么样using:

echo get_the_term_list( $post->ID, \'artist-genre\', \'<li>\', \',</li><li>\', \'</li>\' );
而是生成HTML列表?

simply:

the_terms( $post->ID, \'artist-genre\', \'<li>\', \',</li><li>\', \'</li>\' );
这是一个包装get_the_term_list().

还请注意,您缺少is_wp_error() 在代码段中检查,因为wp_get_post_terms() 可以返回WP_Error 对象,用于未知的分类法。但是the_terms 函数处理并返回false 那样的话

SO网友:Pieter Goosen

如果在代码中紧跟术语名称之后,可以添加

array( \'fields\' => \'names\' )
或用于PHP 5.4+

[\'fields\' => \'names\']
作为第三个参数wp_get_post_terms. 这将只检索附加到帖子的术语的名称。然后,您可以使用

echo $terms[0]];
正如@birgire已经提到的,您需要检查$terms 不会返回错误,并且实际返回了值。如果不这样做,将导致出现错误$terms 返回返回空列表的错误

结束

相关推荐

WordPress API函数在AJAX函数上不起作用。php调用

我试图使用AJAX在WordPress中显示类别的子类别:当我选择一个主类别时,会调用WP AJAX,结果用于显示子类别。到目前为止,我有一个客户端代码,在不调用WP函数时可以运行(此代码位于主题页中):jQuery(\'#cat-location-main\').change(function () { var optionSelected = jQuery(this).find(\'option:selected\'); var valueSelected = opti