WordPress的前端代码几乎全集中在它的主题中。尤其主题的css决定了几乎全部的Html如何展示。一下是主题的一般文件结构:
assets <文件夹> //资源文件夹
inc <文件夹> //内部代码
languages <文件夹> //主题语言包
template-parts <文件夹> //模板片段文件夹
404.php //未找到请求文件产生404时调用
archive.php //文章被分类列出时调用。常用分类方式:作者、分类、日期
comments.php //文章、页面使用评论功能时调用
footer.php //网页公用尾部模板
functions.php //主题主要功能的初始化
header.php //网页公用头部模板
index.php //模板主页,以及其他功能页面
page.php //页面模板
readme.txt //主题的说明文件
screenshot.png //主题的图片展示
search.php //搜索模块的模板
sidebar.php //侧边栏模板
single.php //文章模板
style-rtl.css //从右到左的样式表
style.css //主题的样式表
以上是多数主题采用的格式。
当然,可以根据自己的需要增减文件,变更文件夹。
但是,有些文件是必须的。如下:
functions.php
index.php
readme.txt
style.css
当没有404、archive、page、search、single文件的时候,WordPress会把请求指向index,由index.php来完成。这样一来,因为实现太多功能,index.php会变得异常臃肿、杂乱,这也是分化出多个功能文件的原因。
header、sidebar、footer是通过get_header()、get_sidebar()、get_footer()来调用的。所以,如果不使用对应的函数,就不需要相应的模板文件。
如果没有comments.php,WordPress会调用默认的模板文件。
style-rtl.css,少有对它支持的。毕竟只有中东地区用的多。如果不打算支持从右到左的语言,这个文件就不许啦。
根据需要,要主题更加详细的支持,文件划分也可以更加详细:
archive.php
author.php //按作者归档
category.php //按分类归档
taxonomy-<自定义分类法名>.php //按自定义分类法归档
date.php //按日期归档
tag.php //按标签归档
archive-<自定义文章类型名>.php //自定义类型归档
single.php
attachment.php //附件模板
single-<自定义文章类型名>.php //自定义文章类型模板
single-post.php //相对于附件模板,显示文章的模板
除了上面的,还有更详细的针对某个指定id或slug的页面,但是那是针特定需求生成的,多是插件在试用,或者主题对特定插件的支持。