如果你只写一篇文章,那么你的代码就不能工作,因为get_queried_object
将包含帖子(而不是术语)。
如果你想获得给定职位的条款,你应该使用get_the_terms
作用
$terms = get_the_terms( get_the_ID(), \'<TAXONOMY_NAME>\' ); // <- put real tax name in here
你还必须记住,一篇文章可能有多个术语,因此上面的一行将为你提供一个术语数组。您可以这样循环:
foreach ( $terms as $term ) {
echo \'<span class="back-button"><a href="/portfolio/\' .$term->slug. \'">← Back to \' .$term->name. \'</a></span>\';
}
最后一件事。。。
你不应该像你那样建立术语链接。有一个功能用于:get_term_link
您应该使用它,而不是将一个术语的slug与一些字符串连接起来(为什么?因为一些插件可能会更改此类链接的结构,您的代码将停止工作)。
因此,完整代码可以如下所示:
$terms = get_the_terms( get_the_ID(), \'<TAXONOMY_NAME>\' ); // <- put real tax name in here
if ( $terms and ! is_wp_error( $terms ) ) {
foreach ( $terms as $term ) {
echo \'<span class="back-button"><a href="\' . esc_attr( get_term_link( $term ) . \'">← Back to \' . esc_html($term->name) . \'</a></span>\';
}
}