我想重复归档页面上每篇文章的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。
谁能解释一下?
最合适的回答,由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;
}
}