我正在努力理解关于CPT的一些事情,需要一些帮助。我可以看到分类法通常需要分层,但看不到自定义帖子类型是如何/何时进行的?
i、 我有一个叫做“项目”的CPT。此posttype注册了一个名为“fields”的分类法。在“字段”下,我有许多子项,如:
《纪录片》《自我承诺》《经典》《企业》《数字营销》等所以要在“纪录片”>“经典”中查看项目,我使用以下URL:mydomain。com/field/classic/
这就是我实际上有大约30个问题的地方:)但我只想问两个最紧迫的问题:
为什么“项目”CPT会有等级划分,以及如何进行等级划分是否可以像这样查看“经典”字段中的项目:mydomain。com/projects/classic(mydomain.com/projects显示所有项目,但钻取更多项目)感谢所有帮助,我已经花了大约3个小时玩这个和阅读它,我的脑袋都绕不过去了!
谢谢
以下是我的(裁剪过的)代码供参考:
function register_cpt_projects() {
$labels = array(
\'name\' => _x(\'Projects\', \'projects\'),
// all other labels etc..
);
$args = array(
\'labels\' => $labels,
\'hierarchical\' => true,
\'supports\' => array(\'title\', \'editor\', \'author\', \'thumbnail\'),
\'taxonomies\' => array(\'field\'),
\'public\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'show_in_nav_menus\' => true,
\'publicly_queryable\' => true,
\'exclude_from_search\' => false,
\'has_archive\' => true,
\'query_var\' => true,
\'can_export\' => true,
\'rewrite\' => true,
\'capability_type\' => \'post\'
);
register_post_type(\'projects\', $args);
}
add_action(\'init\', \'register_cpt_projects\');
function create_projects_tax(){
register_taxonomy(\'field\', \'projects\', array(
\'hierarchical\' => true,
\'label\' => \'Fields\'
));
}
add_action(\'init\', \'create_projects_tax\');
SO网友:Chris_O
如果希望帖子类型的行为类似于页面,则自定义帖子类型只需要层次结构设置
如果您希望能够选择父项并拥有菜单顺序metabox,还需要添加
\'page-attributes\' to the supports array.The hierarchical argument 还允许您使用is_post_type_hierarchical()
条件标记。它支持post对象、post类型名称或post ID作为其单个参数。
是否可以像这样查看“经典”字段中的项目:mydomain。com/projects/classic(mydomain.com/projects显示所有项目,但进一步钻取会破坏它)
您可以使用rewrite参数定义单个post类型URL的显示方式:
slug:你想在帖子前面加上的slug
with\\u front:您的帖子类型是否应该使用permalink设置中的front base。
\'rewrite\' => array( \'slug\' => \'classic\', \'with_front\' => false ),
将使单个项目帖子的URL如下所示:
yoursite.com/classic/post-name
如果要创建存档URL:
mydomain.com/projects/classic
您需要对register\\u taxonomy参数应用类似的重写规则。
您需要将重写slug设置为projects,并将\\u front设置为false。还要注意的是,register\\u taxonomy rewrite数组还支持:\'hierarchical\' - true or false allow hierarchical urls
这允许您在URL中的分类术语上使用完整的层次结构: