WordPress模板的定义非常方便,但是在定制模板之前,我们有必要知道WordPress的模板层次,了解WordPress是如何加载模板文件的,这将有利于开发模板时合理利用资源及提高工作效率。
万能的index.php
通过WordPress主题构成这篇文章,我们已知道一个最简单的WordPress主题只需要 style.css 和 index.php 文件即可。这代表着 index.php 可以是任何一个页面的模板,无论是首页,还是文章页,或是分类页,再或者是搜索结果页面,它都能完美胜任。
也就是说,当对应的模板不存在时,index.php 将是WordPress最后的底牌。
模板加载顺序
下面让我们来了解一下WordPress都是怎么加载模板的
首页
首先WordPress会先检查是否有静态首页,如果有静态首页,就会加载这个页面内容并通过 front-page.php 模板文件展示,如果没有这个模板文件,就会通过页面模板展示
如果没有静态首页,就会加载 home.php
最新文章模板 如果没有 home.php 则加滨州网站建设公司载index.php模板
文章页
首先被考虑的是single-{post_type}.php 这样一个模板文件(如文章类型是 product 那么对应的文件名就是 single-product.php )
如果找不到,那么就会加载single.php 模板
如果连single.php 模板都没有则加载index.php 模板。
页面
首先被考虑的是自定义模板,也就是编辑页面时所选择的模板
如果没有自定义模板,则查找page-{slug}.php 别名模板(如页面别名是 about 对应的文件名就是 page-about.php )
如果别名模板也没有就查找page-{id}.php ID模板(如页面ID是 2对应的文件名就是 page-2.php )
如果ID模板也没有那就是 page.php 模板了
如果连 page.php 模板都没有则加载index.php 模板
分类页
首先被考虑的是category-{slug}.php 别名模板(如分类别名是 news 对应的文件名就是 category-news.php )
如果没有别名模板则查找category-{id}.php 专门设计签名的网站 ID模板(如分类ID是 1 对应的文件名就是 category-1.php )
如果ID模板也没有那就是 category.php 分类模板了
如果 category.php 分类模板也没有则加载 archive.php通用归档模板
如果连 archive.php通用归档模板都没有则加载index.php 模板
标签页
标签页模板加载顺序和分类页一样,只不过前缀不过 category 而是tag (如tag-{slug}.php)。
自定义分类法
有时候除了WordPress默认的分类目录和标签我们还需要其他的分类方法,这时候我们就会注册一个新的分类法,那么在此之前知道分类法的模板加载顺序也是十分必要的。以下说明假设自定义分类法是 people 这个名字:
分类法分类页首先被考虑的是taxonomy-{taxonomy}-{term}.php 别名模板(如分类别名 teacher 对应的文件名就是taxonomy-people-teacher.php)
如果没有别名模板,则加载该分类法归档页(如 taxonomy-people.php )
如果分类法归档页模板也没有则加载 archive.php通用归档模板
如果连 archive.php通用归档模板都没有则加载index.php 模板
自定义文章类型
除了自定义分类法,有时候我们也需要自定义文章类型
自定义文章类型归档页首先被考虑的是archive-{post_type}.php 别名模板(如文章类型是 product 那么对应的文件名就是archive-product.php )
如果没有别名模板则加载 archive.php通用归档模板
如果连 archive.php通用归档模板都没有则加载index.php 模板
作者归档页
首先被考虑的是author-{nicename}.php 别名模板(如作者用户名是 steven 那么对应的文件名就是 author-steven.php )
如果没有别名模板则加载author-{id}.php ID模板(如作者ID是 1 对应的文件名就是 author-1.php )
如果ID模板没有则加载 author.php通用作者模板
如果通用作者模板也没有则加载 archive.php通用归档模板
如果连 archive.php通用归档模板都没有则加载index.php模板
日期归档页
首先被考虑的是 date.php 日期归档模板
如果日期归档模板没有则加载 archive.php通用归档模板
如果连 archive.php通用归档模板都没有则加载index.php 模板
搜索结果页
首先被考虑的是 search.php搜索结果模板
如果没有搜索结果模板则加载index.php模板
附件页
首先会按MIME类型加载模板(如 image.php,video.php,application.php,而text/plain类型则按顺序尝试加载text.php,plain.php,text_plain.php 这三个文件。
如果没有对应的MIME类型模板则attachment.php 附件模板(如没有 attachment.php 则加载 single-attachment.php )
如果没有附件模板则加载 single.php 文章页模板
如果连 single.php 文章页模板都没有则加载index.php 模板
南京牧狼文化传媒有限公司简介:
牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!
公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!
为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!
主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等
合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯
资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。