Wordpress主题模板优先级顺序

简洁来说:打开WP站点后,WP会根据显示页面的类型,决定选择哪个模板文件来呈现的层次顺序。由此我们就可以较为方便的创建自定义的模板,包括首页,页面,分类页,标签页等等。

具体举例来说:

一、首页(home.php/index.php)

如果主题模板存在home.php,则首页是以home.php来呈现的;当home.php不存在时,才选择index.php。

二、页面(自定义页面/page-slug.php/page-id.php/page.php/index.php)

假如有这样一个页面,它的缩略名为 links,ID为6。想在这个页面中显示链接,那我们该怎么操作呢?

1.自定义页面模板是第一选择

就是创建一个新的页面模板并加上头部标识,就可以在后台页面编辑右侧边栏选择到这个新的自定义的页面模板,这种方式大家用得最多,用来创建留言板、链接页等都是比较方便的。

2.其实我们还可以这样操作,直接创建一个模板文件命名为:page-links.php或者page-6.php

WP会自动选择此模板来呈现这个页面,所有的PHP函数代码操作直接在这个模板文件里进行即可,无需在到页面编辑里选择。也许对于页面来说,1、2两种方法都行,没2也无所谓,那我们继续看……

三、分类(category-slug.php/category-id.php/category.php/archive.php/index.php)

假如有这样一个页面,它的缩略名为 photos,ID为8。想让这个分类的列表页区别于其它分类列表页显示,该怎么操作呢?(分类可是没有了什么自定义模板让你在后台选择了~)

1.PHP判断

创建category.php模板,借助is_category()函数判断当分类ID为8时,调用某个特定PHP模板文件。

2.其实?创建模板文件直接命名为:category-photos.php或者category-8.php

当打开这个分类列表页时,WP自动会选择此模板来呈现啦!

四、标签(tag-slug.php/tag-id.php/tag.php/archive.php/index.php)

同上

五、作者(author-nicename.php/author-id.php/author.php/archive.php/index.php)

假如是多用户站点,某个用户昵称为 linmumu,ID为3。想让这个用户的文章列表页区别于其他用户,又该如何呢?

创建author.php里加PHP判断当然可以,既然各位童鞋看到这了,当然明白我推荐各位使用哪个法子啦~

创建模板文件命名为:author-linmumu.php/author-3.php