如何在自定义帖子类型URL结构下添加页面?

时间:2014-12-23 作者:Michael Ecklund

如何在自定义帖子类型的URL结构下添加页面?

例如

如果我有一个名为“知识库”的自定义帖子类型。。。位于:domain.com/knowledge-base/

。。。我想添加一个名为“归档”的页面。。。位于:domain.com/knowledge-base/archives/

。。。我想在档案中添加子页,如。。。每日、每周、每月、每年等。。。位于:domain.com/knowledge-base/archives/daily/ (例如)。

我能想到的唯一方法是,我必须添加一个带有“知识库”的页面,然后在该页面下添加相应的子页面。

然而,在这样做的时候。。。查看时,页面的重写规则似乎覆盖了我的帖子类型存档domain.com/knowledge-base/.

自定义帖子类型的重写规则覆盖页面重写规则。

不管怎样,我都无法拥有一个功能完备的自定义帖子类型,它的结构中附加了子页面。

如何将“页面”添加到自定义帖子类型?

1 个回复
最合适的回答,由SO网友:Michael Ecklund 整理而成

我真的应该在立即提出问题之前把事情想清楚。

我找到了一个非常简单的解决方案。这并不完全是添加“页面”,但它满足了我的需要。

注册自定义帖子类型时,需要指定两件事。

默认情况下,参数hierarchical 设置为false. 解决方案:设置hierarchical => true;

为了使分层功能正常工作,您需要添加page-attributessupports 参数

现在,只需在自定义帖子类型中创建一个名为“归档”的新帖子,并选择“无父级”。

然后创建另一个新帖子“daily”(例如),并选择“archives”作为帖子的父项。

很简单。

然而,如果你的“页面”中有一小段“归档”,那么你的知识库“归档”中似乎会有一小段“归档-2”,而不仅仅是“归档”。

如果遇到该问题,请更新到WordPress 4.1. 它允许跨多个post类型复制段塞。

结束

相关推荐

WP_DROPDOWN_PAGES不适用于POST_TYPE参数

我正在尝试显示带有自定义“post\\u type”帖子的下拉菜单。如果我插入这段代码,它会显示包含所有“页面”的下拉菜单。$arg=array( \'show_option_none\' => __( \'None\' ), \'orderby\' => \'title\', \'hide_empty\' => false, \'suppress_filter