作为自定义发布类型的子级的页面

时间:2012-07-09 作者:Alm

我有一个名为“专业”的自定义帖子类型,它包含不同的专业和关于他们的信息。为了向他们展示,我只需使用content-profession.php -文件

问题是,我需要这些专业的子页面(child),这些子页面包含工资、条款、在哪里找工作等信息。它们不能与CPT专业类型相同,因为该职位类型有一个非常具体的布局。有没有办法将普通页面作为自定义帖子类型的子页面?

这之前在这里讨论过:

Page as child in custom post type slug?

但是有了重写URL的解决方案,这感觉像是一个非常“黑客”的问题解决方案。

2 个回复
SO网友:Rose McKeon

注册帖子类型时,可以设置hierarchical 至真实值。

hierarchical (布尔)(可选)

帖子类型是否为层次结构(如页面)。允许指定父级。“supports”参数应包含“page attributes”,以在编辑器页面上显示父选择框。

默认值:false

注意:此参数计划用于页面。要小心,在为自定义帖子类型选择它时-如果您计划有许多条目(比如超过100条),您将遇到内存问题。将此参数设置为true后,WordPress将在您的帖子类型的每个管理页面加载上获取该特定帖子类型的所有条目以及所有元数据

然后确保supports阵列包括page-attributes 显示父菜单。

例如:

// Register post type
register_post_type(\'your-post-type\' , array(
    \'labels\' => $labels,
    \'hierarchical\' => true,
    \'supports\' => array( \'title\', \'editor\', \'page-attributes\' )
) );
更多信息请访问codex

SO网友:Gioia Fueter

Barry提到的插件似乎正是您所需要的,但如果您不想购买任何东西,这里有另一个可能的解决方案:

您可以在子页面本身中添加一个自定义字段来保存职业id。

然后在profession页面中,您可以使用元值作为参数进行post查询,以获取所有将此profession id作为自定义字段值的页面。像这样生成你的链接。。。

好的想法是,如果您决定这些页面中的一些页面在每个职业中都是重复的,并且总是具有相同的布局,那么您可以将它们转换为自己的自定义帖子类型,您只需要将它们包含在查询中,但所有其他页面都可以使用相同的逻辑。。。

结束

相关推荐