注册新分类法时,的第二个参数register_taxonomy($taxonomy, $object_type, $args)
为其注册此分类的帖子类型。
但是,注册自定义帖子类型时,还可以将分类法作为参数之一传递:
分类法(数组)(可选)将用于此帖子类型的已注册分类法数组,如category或post\\u标记。这可以用来代替直接为\\u object\\u type()调用register\\u taxonomy\\u。自定义分类法仍需要使用register\\u taxonomy()注册。默认值:无
这是多余的。应该使用哪个?您是否可以注册分类法而不将其与特定的帖子类型相关联,然后在注册自定义帖子类型时将其关联?
作为我为什么应该关心的一个小背景(除此之外,我不喜欢不一致和冗余):我正在创建一个相当通用的分类法,我可以预见在各种实现中使用它。我很想定义这个分类法一次(在一个单独的文件中),而不预先知道将来可能要利用它的自定义帖子类型。然后,在一个特定的实现中,当我创建自定义post类型时,我知道我有这个分类法,可以与post类型相关联。希望这能解释一下我的原因。
最合适的回答,由SO网友:Tom Auger 整理而成
因此,我深入研究了源代码,发现尽管文档中指出$object_type
是“必需的”,逻辑中没有任何东西使其如此。$object_type
只是添加到税务对象的属性中,这可能也是在创建自定义贴子时注册税务时以及在使用register_taxonomy_for_object_type()
. 我尝试为$object_type
参数,然后在创建自定义过帐类型时分配税款,并且它按预期工作。Codex已更新。