如果你在循环中,你可以使用get_post_taxonomies
像这样:
$taxs = get_post_taxonomies($post->ID);
foreach ($taxs as $tax){
// $tax holds the taxonomy name so you can
//use either get_terms or get_terms_list
}
更新我会更好地解释,因为你不知道帖子类型是什么,也不知道与该类型相关的分类法是什么,你首先会得到与每个帖子相关的分类法列表(无论帖子类型是什么),如下所示:
$taxs = get_post_taxonomies($post->ID);
现在$taxs是一个数组,它保存与循环中当前帖子相关联的分类名称。因此,我们可以运行foreach循环,使用get\\u terms或get\\u terms\\u list为每个分类法输出特定于post的术语,例如:
$taxs = get_post_taxonomies($post->ID);
foreach ($taxs as $tax){
$before = $tax . ": ";
echo get_the_term_list( $post->ID, $tax, $before, \' \', \'\' );
}
更新2如果你不想回显post\\u标签,那么只需检查并跳过它,至于只获取术语而不是格式化的html使用
wp_get_object_terms
而不是
get_the_term_list
比如:
$taxs = get_post_taxonomies($post->ID);
foreach ($taxs as $tax){
if (!$tax = "post_tags"){ //exclude tags
print_r(wp_get_object_terms( $post->ID, $tax)); // its an array of the terms
}
}