问题描述
http://example.com/classroom/group/%7Bgroup_id%7D
我想在域名后的根级别设置/classroom/,它将加载插件的课堂模板和组的组模板。
所以这里需要两个模板来加载自定义 url。
http://example.com/classroom/ 将加载课堂模板和 http://example.com/classroom/group/1 将加载组模板。
解决方法
首先制作一个标题为“课堂”的页面。这将成为您的 /classroom 路线。然后创建另一个标题为“组”的页面。将课堂页面设为该页面的父页面。结果,这个页面 slug 变成了 /classroom/group。现在所有 /classroom/group/id 请求都来到您的群组页面。在此页面中,您的插件需要获取 URL(例如使用 $wp->request,see)并提取其中的 id 部分。根据该 ID 加载您的模板。
,您可以为教室创建自定义帖子类型,并使用这样的文件名为其分配模板
single-classroomcustomposttype.php
此处为 template hierarchy 的 Codex 详细信息
要创建分层的自定义帖子类型,您必须在 page-attributes
数组中设置 supports
,并将 hierarchical
标志设置为 true
。
要为 Groups 加载不同的模板,我认为最简单的解决方案是在 single-classroomcustomposttype.php
if( $post->post_parent != 0 ) {
// not top level
} else {
// top level page
}