在我们最近的一个项目中,我计划使用该索引。php文件以显示不同的分类法布局。基本上我计划使用is_tax( \'sometaxonomy\' )
显示不同分类的数据/循环。我是否应该解决任何性能问题?使用taxonomy-$taxonomy是否更好。在这种情况下是php吗?如果是,为什么?
此外,还有一个相关的问题:使用此技术时,我需要自定义循环。使用是否安全(性能方面)global $query_string
要更改查询?或者我应该再次简单地使用分类法-$分类法。php?
提前感谢
最合适的回答,由SO网友:Derk-Jan 整理而成
TL;DR模板:性能不太好,但是语义,使用层次结构!
TL;DR查询字符串:使用提供的挂钩,切勿直接编辑。
The Template File
除了性能之外,首先看看语义。如果您将浏览器指向分类法存档,WordPress将查找以下文件(直接从
the Codex):
taxonomy-{taxonomy}-{term}.php
- 如果分类法是sometax,而分类法的术语是WordPress会寻找的术语taxonomy-sometax-someterm.php
. 对于Post格式,分类是\'post_format\'
条款是\'post-format-{format}\'
. i、 e。taxonomy-post_format-post-format-link.php
taxonomy-{taxonomy}.php
- 如果分类法是sometax,WordPress将查找分类法sometax。phptaxonomy.php
archive.php
index.php
所以WordPress似乎有一个系统来处理你的挑战。问题是,如果WordPress提供了内部回退模板层次结构系统taxonomy.php
可用于显示所有分类页面和taxonomy-{taxonomy}.php
显示特定的分类法。你只是为自己创造这个?用你喜欢的任何东西。查找系统速度很快,所以不用担心性能。条件标记也很快。但你可能不是。让我们看看为什么不使用index.php
:
WordPress提供显示分类的功能index.php. 在一段相当长的时间后,某人可能就是你杂波index.php
不必要的无需在中自定义循环taxonomy.php
.
The Query String
不要直接更改查询字符串,而是使用提供的挂钩来更改查询字符串,例如pre_get_posts
. 这个Codex page 是相当广泛的。还列出了所有相关的挂钩(如join语句和order语句)。不要直接改变循环。为什么?因为WordPress提供了。插件也可能与此相关,还有其他几个原因。