我在我的网店上举办了多场比赛(其中一场规模非常大,全年都有)。它们都有不同的规则,不同的结构,所以我为此创建了一个自定义的帖子类型“竞赛”。这很适合我,我添加了一些自定义字段,这些字段在所有比赛中都很常见(图像、日期间隔等)。
我的问题是,其中一些比赛在未来可能需要自己的“子页面”(例如完整学期、掷轮、优胜者等)。
最好的方法是什么?我可以创建一个新页面,添加内容并以某种方式将其分配给自定义帖子类型的特定实体吗?
当我意识到我想要搜索引擎优化时,我开始考虑这个问题sitelinks 如下所示(搜索结果):
The contest name | Mysite
• Terms • Winners
• Tossing rounds
简单的方法是创建页面,在页面中添加“nofollow”,但这样只有主竞赛页面才会被索引,这不是我想要实现的。
SO网友:Krzysiek Dróżdż
当您向注册帖子类型时register_post_type
, 您可以设置hierarchical
论点
hierarchical - (boolean) (optional)
帖子类型是否为层次结构(如页面)。
允许指定父级。“supports”参数应包含“page attributes”,以在编辑器页面上显示父选择框。
默认值:false
注意:此参数用于页面。在为自定义帖子类型选择它时要小心——如果您计划有很多条目(比如超过2000-3000条),您将遇到加载时间问题。将此参数设置为true时,WordPress将在您的帖子类型的每个管理页面加载上获取该特定帖子类型的所有ID。内存资源有限的服务器也可能会受到此参数设置为true的挑战
如您所见,其默认值为false,因此CPT不是层次结构。将其设置为true,您的CPT将是分层的。