0

I know I can create custom files for specific custom-post-types

Unfortunately, the method works for me in one case:

  • page-results.php for CPT = results
  • but does not work for page-news.php where CPT = news
  • or does not work for page-events.php where CPT = events

Why? can you have just a single file like that?

4

1 回答 1

2

这可能会为您澄清一些事情:

Wordpress 模板层次结构

问题是,您的自定义帖子类型实际上并不是“页面”。即使是“页面”在技术上也不是实际的页面,而是称为“页面”的分层自定义帖子类型。令人困惑?是的。但有一种方法可以疯狂。

称为“页面”的内置帖子类型与称为“帖子”的内置帖子类型的功能不同,这就是它们有自己的默认模板和层次结构的原因。然而,尽管 Wordpress 允许您扩展其核心以包含您自己的自定义帖子类型,但在其根部,它们仍被视为“帖子”,并且不会遵循“页面”分支。

如果您遵循标准模板命名约定,您的两个选择是将您的自定义帖子存档模板命名为“archive-results.php”、“archive-news.php”和“archive-events.php”。

至于您的自定义帖子单个帖子模板,您可以将它们命名为“single-results.php”、“single-news.php”和“single-events.php”。

如果您想为所有三种自定义帖子类型使用存档或单个模板,只需不要定义单独的帖子类型并定义“archive.php”和“single.php”文件。

这是有关自定义帖子类型模板的更多信息

于 2012-10-15T20:02:53.817 回答