【发布时间】:2012-10-16 04:02:53
【问题描述】:
我知道我可以为特定的自定义帖子类型创建自定义文件
不幸的是,这种方法在一种情况下对我有用:
- CPT 的 page-results.php = 结果
- 但不适用于 CPT = 新闻的 page-news.php
- 或不适用于 CPT = events 的 page-events.php
为什么?你能只有一个这样的文件吗?
【问题讨论】:
标签: wordpress wordpress-theming
我知道我可以为特定的自定义帖子类型创建自定义文件
不幸的是,这种方法在一种情况下对我有用:
为什么?你能只有一个这样的文件吗?
【问题讨论】:
标签: wordpress wordpress-theming
这可能会为您澄清一些事情:
问题是,您的自定义帖子类型实际上并不是“页面”。即使是“页面”在技术上也不是实际的页面,而是称为“页面”的分层自定义帖子类型。令人困惑?是的。但是有一个疯狂的方法。
称为“页面”的内置帖子类型与称为“帖子”的内置帖子类型的功能不同,这就是它们有自己的默认模板和层次结构的原因。然而,尽管 Wordpress 允许您扩展其核心以包含您自己的自定义帖子类型,但在其根部它们仍被视为“帖子”并且不会遵循“页面”分支。
如果您遵循标准模板命名约定,您的两个选择是将您的自定义帖子存档模板命名为“archive-results.php”、“archive-news.php”和“archive-events.php”。
至于您的自定义帖子单个帖子模板,您可以将它们命名为“single-results.php”、“single-news.php”和“single-events.php”。
如果您想为所有三种自定义帖子类型使用存档或单个模板,只需不要定义单独的帖子类型并定义“archive.php”和“single.php”文件。
这里有更多关于Custom Post Type Templates的信息
【讨论】: