我正在尝试为我的类别创建自定义存档模板。我有一个叫parent category
的人
member-resources
,这是multiple other categories
的父类别。
我不希望/category/member-resources
访问这些类别。
根据模板层次结构的wordpress文档,我需要创建archive-member-resources.php
并更改php代码以根据需要显示。
但是这个模板不是正在渲染的模板(archive.php总是被渲染),如果我尝试通过输入/member-resources
来访问它,我会得到一个404 ..
我错过了什么?谢谢
[编辑]
请原谅我的自己的wordpress技能,因为我只用了大约一个月......
我问这个问题的原因很简单。我参与了一个项目,在这个项目中我得到了一个大量的archive.php
文件,其中有很多conditional logic
,例如:
if( is_category('events') )
,呈现侧边菜单if( is_category('news') )
,渲染其他内容 if( is_category('member-resources') )
渲染分页
这只是一个例子,但我想强调一下,对于不同的类别,我可能想要调用一个完全不同的存档模板(如果可能的话),而不是拥有一个不易维护的大文件。< / p>
如果无法做到这一点,请为我提供解决方案,以便在我的下一个项目中,我不会再遇到这个问题。
答案 0 :(得分:1)
您不应将任何类型的存档页面(archive.php,category.php,taxonomy.php等)用作列表/索引页面。这不是归档页面的目的。此外,archive-xxx.php特有的模板层次结构适用于自定义帖子类型,而不是类别。
任何存档页面上的主查询都非常具体,不应在模板级别上被篡改。它完全破坏了主查询中的分页和通用逻辑。
您应该使用页面模板。只需复制page.php,将其重命名为page-xxx.php,添加必要的页眉并根据需要进行修改
进一步阅读