只获得一个产品类别WooCommerce

时间:2015-02-25 作者:Berchev

我必须从一个产品中只获取并显示一个类别名称。我几乎什么都读过,什么都试过了。

<?php 
$term =  get_the_terms( $post->ID, \'product_cat\' );
foreach ($term as $t) {
   $parentId = $t->all;
   if($parentId == 0){
     echo $t->name;
   }else{
     $term = get_terms( \'product_cat\', array(\'include\' => array($parentId)) );
   }
}

?>
它显示一个包含所有类别名称的长字符串。我应该如何只获取一个类别并显示其名称。

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

在开始之前,请注意,没有调用$all 在里面get_the_terms. 以下是您可以使用的可用字段

stdClass Object
(
    [term_id] =>
    [name] =>
    [slug] =>
    [term_group] => 
    [term_order] => 
    [term_taxonomy_id] =>
    [taxonomy] =>
    [description] => 
    [parent] =>
    [count] =>
    [object_id] =>
)
通过查看代码,我不太确定您想要实现什么,但如果您只需要返回数组中的一个术语,则可以执行以下操作:(注意:get_the_terms 返回aWP_ERROR 对象,因此要检查这一点,还要检查是否检索到术语

$terms =  get_the_terms( $post->ID, \'product_cat\' );
if ( $terms && ! is_wp_error( $terms ) ) {
    echo $terms[0]->name;
}
$terms[0] 将返回返回的数组中的第一个项。

结束