我真的很想在这里寻求帮助,从昨天开始一直在尝试这样做,但是仍然没有运气,所以这就是我想要实现的目标
收藏 =自定义帖子类型
材料 =分配给“收藏”的自定义分类法
正文 =分配给“集合”的自定义分类法
颜色 =分配给“收藏”的自定义分类法
结构将是这样
- Material
- Mat1
- Mat2
- Body
- Body1
- Body2
- Color
- Color1
- Color2
我收到了这段代码,但是根本无法正常工作
$post_type = 'collection';
$taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type, 'hide_empty' => true ) );
foreach( $taxonomies as $taxonomy ){
echo $taxonomy->name;
$terms = get_terms( $taxonomy );
foreach( $terms as $term ){
echo '<li>';
echo $term->name;
echo '</li>';
}
}
答案 0 :(得分:1)
如果您查看get_object_taxonomies()
的文档,则会注意到几件事,即出于您的目的,您希望将帖子类型的名称作为第一个参数传递,并使用第二。看来您正在混淆get_object_taxonomies()
和get_terms()
的参数。
还具有get_terms()
函数,如果您使用的是WP 4.5或更高版本,则需要在$args
数组中传递分类法。
$taxonomies = get_object_taxonomies( 'collection', 'objects' );
foreach( $taxonomies as $taxonomy ){
echo $taxonomy->name;
$terms = get_terms(array(
'taxonomy' => $taxonomy->name,
'hide_empty' => false,
));
foreach( $terms as $term ){
echo "<li>{$term->name}</li>";
}
}