我正在尝试为我的自定义帖子类型构建一个模板文件,该模板文件对于父帖子、子帖子和子帖子的子帖子是不同的。
我能找到的最好的代码是以下代码:
if( $post->post_parent !== 0 ) {
get_template_part(\'content\', \'child\');
} else {
get_template_part(\'content\');
}
唯一的问题是它只适用于父级>子级。有没有什么方法可以让“父”>“子”>“子”这样做?
我正在尝试为我的自定义帖子类型构建一个模板文件,该模板文件对于父帖子、子帖子和子帖子的子帖子是不同的。
我能找到的最好的代码是以下代码:
if( $post->post_parent !== 0 ) {
get_template_part(\'content\', \'child\');
} else {
get_template_part(\'content\');
}
唯一的问题是它只适用于父级>子级。有没有什么方法可以让“父”>“子”>“子”这样做?
以下是一个基本想法:
页面父级所在的任何页面($post->post_parent
) 是0
, 这意味着该页面是顶级页面。如果存在任何其他值,则该页是另一页的子页。该值是特定页面的子页面ID。
根据以上信息,我们可以使用get_post
然后返回WP_Post
属性。
您可以尝试以下操作:(警告:未测试)
if ($post->post_parent === 0) {
//Do something for post parent
} else {
$q = get_post($post->post_parent);
if ($q->post_parent === 0) {
//Do something for direct child
} else {
// Do something for grand child
}
}
我正在一个非常干净和层次结构的网站上使用get\\u页面。作为模板的一部分,我想将子页面显示为模板“样板”的一部分。正在读取Codex documentation, 有两个似乎相关的参数:parent 和child_of.我一直在摆弄它们,用一个简单的转储到页面的主体,就像这样,但我看不出这两个参数有什么根本不同。。。除了给他们带来冲突的风险。例如,如果我设置child_of 至17(有效页)和parent 除了17或1。。。我得到一个空数组。这很有道理。。。但是为什么有两个参数?在扫描文档和代码时找不到