2013-01-22 31 views
1

在Wordpress中,我想显示附加到分类“章节”中的帖子的术语]。 我可以得到分类信息用于使用如何从数组中提取单个值wp_get_post_terms

$sectiondata = wp_get_post_terms($post->ID, 'chapters', array("fields" => "all")); 

然后,使用

print_r $sectiondata; 

我可以显示值的阵列后返回。

但是,如何将页面的“名称”的值回显到页面? 我想这应该是这样的:

echo $sectiondata->name; 

但不返回任何内容,所以我显然不知道如何提取从数组此值。我搜索了一些例子,没有看到解释如何在页面上显示值的任何内容,或者更好地说明了如何从数组中提取值。我试过使用普通的PHP方法

print($sectiondata['name']); 

但是,这也不会返回任何东西。如何从数组中提取值的解释?

谢谢

+0

你可以发布'print_r'的输出吗? – RRikesh

+0

Array [(0] => stdClass Object([term_id] => 126 [name] => 2.测量值[slug] => 2-测量值[term_group] => 0 [term_order] => 0 [term_taxonomy_id ] => 142 [分类学] =>章节[description] =>公司价值测量简介[parent] => 81 [count] => 5)) – dorich

回答

2

问题是你没有循环返回的数组。在我向你展示如何使用wp_get_post_terms来做这件事之前,你是否尝试过使用get_terms函数?我相信这可能是你一个更好的办法:

$terms = get_terms('chapters'); 
echo '<ul>'; 
foreach ($terms as $term) { 
    echo '<li><a href="'.get_term_link($term->slug, 'species').'">'.$term->name.'</a></li>'; 
} 
echo '</ul>'; 

来源:http://codex.wordpress.org/Function_Reference/get_terms

...

如果不适合你,先看看您如何使用wp_get_post_terms靓做同样的事情:

echo "<ul>"; 
$terms = wp_get_post_terms($post->ID, 'chapters'); 
foreach($terms as $term) { 
    echo "<li><a href='".get_term_link($term)."' title='".$term->name."'>".$term->name."</a></li>"; 
} 
echo "</ul>"; 

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

我希望这可以帮助你!如果上面的代码示例有问题,请告诉我。

+1

谢谢你的作品。第一个解决方案返回分类中的术语列表,并且我需要将术语/ s附加到单个帖子中。其他读者请注意,如果您在第一个示例中使用代码,则需要匹配使用“分类”名称,即物种应该是“章节”,反之亦然。第二种解决方案提供了答案。 – dorich

+0

我想添加一些细节,因为某些时候您只有一个词与该帖相关联,或者您有很多但您只想显示其中的一个。在这种情况下,你可以避免foreach循环,并且只需调用数组的第一项:echo $ terms [0] - > name(当然,你得到的是数组的第一项) – bluantinoo