归档页面上的Echo Term Slug OP POST

时间:2018-12-12 作者:NielsPilon

我想重复归档页面上每篇文章的slug一词。

要获得术语slug,我使用以下代码:

$terms = get_the_terms( get_the_ID(), \'type_kennisbank\' );
返回所需数据:

array(1) { [0]=> object(WP_Term)#18648 (11) { ["term_id"]=> int(28) ["name"]=> 
string(10) "Whitepaper" ["slug"]=> string(10) "whitepaper" ["term_group"]=> 
int(0) ["term_taxonomy_id"]=> int(28) ["taxonomy"]=> string(15) 
"type_kennisbank" ["description"]=> string(0) "" ["parent"]=> int(0)  
["count"]=> int(3) ["filter"]=> string(3) "raw" ["term_order"]=> string(1) "0" } }
如果我想回显我正在使用的slug:

echo $terms["slug"]
然而,它什么也不返回。我已经找到了一个回显slug这个词的解决方案,但我想知道为什么我自己的回显代码不返回slug。

谁能解释一下?

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

这个get_the_terms 函数返回的数组WP_Term 对象。所以你需要用这样的方法来回应一个术语slug:

echo $terms[0]->slug;
还要注意此功能的结果。像documentation 表示返回:

WP\\u Term对象数组成功,如果没有术语或帖子不存在,则为false,失败时为WP\\u Error。

因此,在尝试回显术语之前,您需要进行一些检查。以下代码可能会对您有所帮助。

$terms = get_the_terms( get_the_ID(), \'type_kennisbank\' );

if ( $terms && ! is_wp_error( $terms ) ) {
    foreach ( $terms as $term ) {
        echo $term->slug;
    }
}

相关推荐

显示所有类别而不是分配给特定帖子的类别的GET_TERMS

我的自定义帖子类型中有3篇帖子(\'careers\'). 我注册了自定义分类法(\'career_categories\').我创建了3个职位,其中两个职位属于“全职”,一个职位属于“兼职”。我在循环中使用以下代码:$terms = get_terms( \'career_categories\', array( \'hide_empty\' => true, ) ); $html_out .= \'<td class=\"column-\'. $col++ .\'\"&g