WordPress:the_terms() 没有按预期呈现我的分类法链接,为什么?
WordPress: the_terms() is not rendering my taxonomy links as expected, why?
我在我的 WordPress 插件中使用数据表来显示标题和分类法,但我无法在输出中正常工作。
这一行:
$return .="<td>" . the_terms( $post->ID , 'authors', '', ', ' ) . "</td>";
结果:
<a href="www.example.com/author1/" rel="tag">Author 1</a>
<a href="www.example.com/author2/" rel="tag">Author 2</a>
并将 <td></td><td></td>
留空。
我想要这个结果:
<td>
<a href="www.example.com/author1/" rel="tag">Author 1</a>
</td>
<td>
<a href="www.example.com/author2/" rel="tag">Author 2</a>
</td>
多位作者应按以下方式分隔:,
有什么解决办法吗?
the_terms() 函数 立即回显 值,这就是为什么您的 post 标签在 td
标签之外呈现的原因。
来自文档:
Displays the terms for a post in a list.
当您想将返回值分配给您想要使用 get_the_terms() 的变量时,例如(未经测试但应该让您走上正确的轨道):
$term_obj_list = get_the_terms( $post->ID, 'authors' );
$term_links = array();
if ( $term_obj_list && ! is_wp_error( $term_obj_list ) ) :
foreach( $term_obj_list as $term ):
$term_links[] = '<a href="' . esc_attr( get_term_link( $term->slug, 'authors' ) ) . '">' . $term->name . '</a>';
endforeach;
$return .= "<td>" . join( ', ', $term_links ) . "</td>";
endif;
我在我的 WordPress 插件中使用数据表来显示标题和分类法,但我无法在输出中正常工作。
这一行:
$return .="<td>" . the_terms( $post->ID , 'authors', '', ', ' ) . "</td>";
结果:
<a href="www.example.com/author1/" rel="tag">Author 1</a>
<a href="www.example.com/author2/" rel="tag">Author 2</a>
并将 <td></td><td></td>
留空。
我想要这个结果:
<td>
<a href="www.example.com/author1/" rel="tag">Author 1</a>
</td>
<td>
<a href="www.example.com/author2/" rel="tag">Author 2</a>
</td>
多位作者应按以下方式分隔:,
有什么解决办法吗?
the_terms() 函数 立即回显 值,这就是为什么您的 post 标签在 td
标签之外呈现的原因。
来自文档:
Displays the terms for a post in a list.
当您想将返回值分配给您想要使用 get_the_terms() 的变量时,例如(未经测试但应该让您走上正确的轨道):
$term_obj_list = get_the_terms( $post->ID, 'authors' );
$term_links = array();
if ( $term_obj_list && ! is_wp_error( $term_obj_list ) ) :
foreach( $term_obj_list as $term ):
$term_links[] = '<a href="' . esc_attr( get_term_link( $term->slug, 'authors' ) ) . '">' . $term->name . '</a>';
endforeach;
$return .= "<td>" . join( ', ', $term_links ) . "</td>";
endif;