WordPress主题开发之模板调用嵌套及模板的优先级

老乐 基础文档3字数 1104阅读3分40秒阅读模式

对于简单的WordPress主题而言,我们可能只会看到有常见的index.php、category.php、single.php、header.php、page.php、footer.php,以及functions.php 这几个文件。但是,如果我们网站复杂的时候,可以自己调用自定义的模板文件,或者是有根据WordPress内核中固定的模式自动调用。

自定义模板调用

这里,我们常用到这样的包含文件:

get_template_part( 'content', 'product' );

看到这样的文件,实际上是自动调用的是content-product.php这个文件。

这样便于我们可以统一归纳文件夹,可以将一类文件放到一个文件中。

get_template_part( 'content-templates/content', 'product' );
get_template_part( 'content-templates/content', 'introduce' );
get_template_part( 'content-templates/content', 'list' );

这样,我们可以将及格关于产品的文件放到 content-templates文件夹中,然后分别是三个文件。分别是content-product.php、content-introduce.php、content-list.php。

内核默认的文件

在自定义调用文件除外,其实在WordPress内核中也是有默认自带的调用的。

1、主页

一般我们看到主页是index.php,如果默认给一个home.php会优先识别。

2、文章

我们看到文章页面模板是single.php,但是如果我们有自定义的slug的话,会默认single-{slug}.php优先,其次如果没有的话才会识别single.php,同样的,如果我们有对于文章单独的分类,在产品中比较常见。

比如我们可以设置,single-{post-type}.php 作为单独的类型文章,比如products产品文章。默认会去single-products.php页面。

PS:页面的 page.php 也是如此。

3、分类

默认的分类是category.php,如果没有其他定义优先的就识别这个。

如果有别名category-{slug}.php 的话,那就识别给这个文章分类设置的别名文件。

以上是几个主要的,然后还包括tag.php 标签自定义、archive.php 自定义文章类型、author.php 自定义作者名称,当然还有很多。

这里有一张WordPress官方的开发主题的模版层次结构图,可以看到各自的页面的优先自定义。

投上你的一票
 
  • 本文由 老乐 发表于 2024年8月31日 08:47:20
  • 转载请务必保留本文链接:https://www.zhujipingjia.com/wpget-templates.html
  • WordPress模版嵌套
  • WordPress 页面优先级