'hierarchical'=>假
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => false,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
这又是什么?请注意,我将继续回答我自己的问题,但是除非别人也没有提出很好的答案,否则我不会将其标记为最佳。我的直觉也告诉我,我可能无法捕捉到两个二分法之间的所有区别,因此如果不能,请告诉我们我错过了什么。
#1 楼
简单的答案是,层次分类法中的术语可以有子术语。但是还有什么呢?'hierarchical'=> false
当您指定
'hierarchical'=>false
时,您会得到以下类型的metabox,这是WordPress也用于帖子标记的metabox格式: >'hierarchical'=> true 但是,当您指定
'hierarchical'=>true
时,会得到以下类型的metabox,这是WordPress也用于类别的metabox格式:层次分类可能有点麻烦,因为在现实生活中,子类别通常适用于许多父类别。即使如此低落的“许多父母”也不是WordPress中分层分类法的工作原理,但无论WordPress如何工作,IMO几乎不可能对任何事物进行完美分类。因此,请告诫Empor!关于自定义分类注册,或“为什么不保存?”
虽然与您是否正在尝试自定义分类的新手没有直接关系,一个经验丰富的开发人员,没有像我写这篇文章时那样关注我!)很可能您会尝试将
register_taxonomy()
像问题中看到的代码一样直接添加到主题的functions.php
文件中。糟糕!如果您确实将代码直接添加到
functions.php
中,则会显示您的元框,但它不会保存您新添加的字词(在元框的'heirarchical'=>true
形式中,现有字词不会与复选框一起加载。)因为您需要在init
挂钩中注册自定义分类法(和自定义帖子类型),例如:<?php
add_action('init','register_movie_genre_taxonomy');
function register_movie_genre_taxonomy() {
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => true,
'label' => 'Movie Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
}
希望这会有所帮助!
评论
分层分类法是否与自定义类别相同?非分级分类法是否与自定义标签一样?
–丹尼尔(Daniel)
2014年6月3日15:11
@ ravensfan55222-不完全是,但是差不多。内置的类别分类系统只是许多潜在的层次分类法之一,而不是与自定义类别相同的“层次分类法”。同样,(发布)标签只是非分层分类法的一个示例。更正确地说,“分层”只是分类法的属性,就像标签如何成为分类法的正义属性或颜色如何是汽车的属性一样。那可能就是您的意思,但我想澄清一下。
– MikeSchinkel
2014年6月7日在3:17
评论
您还能解释什么是分层的吗?分类组是否按帖子类型分层?还是将单个分类法归类到分类法组?我只是被“分层”这个词所取代。谢谢。