在本系列教程的第一部分,我介绍了不一样类型的主题框架并解释了它们是如何工做的。html
在你开始创建你的主题框架以前,你须要考虑它是如何工做的,以及它将会被用来作什么,这样你才能从一开始就找到最合适的开发途径。git
在这一课中,我将带领你逐一了解你须要考虑的每个方面,包括你的框架是否面向公众开放,是非程序员仍是开发人员使用它,以及你也许想添加的其余的一些功能。程序员
要决定你的开发途径需分两步走:一,肯定你的主题框架会如何使用;二,在此基础上,确认你须要包括的全部内容。github
如何使用你的主题框架?
使用主题框架的途径会影响到你要包括的内容和构建框架的方式。web
考虑以下:编程
- 你的主题框架的受众——仅仅是你或其余的一些开发人员?
- 你的主题框架会提供给几乎没有编程经验的开发人员或者用户使用吗?
- 你的主题框架是否会面向公众开放?
仅仅是你或其余的一些开发人员?
若是你的框架只是为了知足你我的须要的话,在开发的时候你就只须要考虑你本身的需求了;可是,从长远来看,尽可能把它从一开始就创建得尽量稳健仍是颇有意义的,因此你应该:框架
- 使用WordPress编码标准
- 应用DRY(切勿复制本身)原则
- 使用W3C验证检查器能够验证的代码,并确保你的代码是能够访问的。
- 添加代码说明——即便别人不看你的代码,当你不少个月以后再次进行编写时,你也会惊奇地发现忘记一段代码是多么容易的一件事。
- 使用版本控制框架的更新。

若是你的主题框架会被提供给其余的开发人员(或许就是你的同事)使用的话,那么除了要采用以上全部的作法外,你也许还须要:ide
- 提供框架结构、函数和挂钩的概述文件。
- 考虑你在代码上分享和协做的方式——使用一个协做系统会使这一切变得异常简单,例如GitHub。
- 记录下你的版本,或者将它们链接到“里程碑”(milestones)和/或在GitHub上释放。
提供给开发人员或用户?
一些主题框架是专门提供给不会编码的用户使用的,这些用户不用写任何代码就能够普遍地自定义主题框架,而另外一些是给开发人员用的,会提供挂钩和函数以便他们能够用来自定义和拓展本身的框架。还有的二者都行,会有一个综合用户界面和一个API(应用程序界面)。wordpress
你的框架会被非开发人员使用并不意味着你要将它释放给公众——你也许有同事是网站设计师,你想赋予他们访问的权限,或者是让你的客户使用你的框架来自定义他们的网站。函数
若是你的框架面对的是不会编码的用户的话,你须要考虑:
- 一个或更多的主题选项界面,以便你的用户能够自行定义。
- 能够选择使用主题定制器来代替主题选项界面,优势是用户在定制主题的同时能直接地看到它们的变化,或者二者都行。
- 小工具区域,容许用户在网页的不一样地方添加他们本身的内容。
- 菜单,以便用户能够浏览网站(包含菜单的区域也许不止一个,这个由你来决定)。
- 子主题支持,以便用户能快速安装并建立一个工做网站。
- 函数库,包含你想有的全部功能,好比滑块或灯箱特效。
- 必要的说明文件和相关帮助,以便用户知道如何来使用你的全部成果(其中一些是很是有用的,但切记慢来,逐步完善)
若是你的目标受众是一些专业开发人员,他们会结合本身的子主题和/或插件一同使用你的主题框架,那么你可能要考虑上述的一些内容,可是你也须要去考虑包含下面列表中的功能:
- 动做挂钩(action hooks)使得开发人员能将本身的代码插入到你的模板文件中,而不须要建立一个重复的模板文件。
- 过滤挂钩(filter hooks)容许开发人员修改模板文件的输出内容。
- 开发人员能在他们的子主题中使用自定义函数。
- 模板部分和包含文件,以减小代码的重复。这样,在使用框架时你会从中受益许多,若是理论上须要在子主题中建立模板文件的话,其余的开发人员也会发现这十分有用。
- 确保你的文件命名和结构的逻辑合理性,并要给这些文件添加相应的说明,这样人们才能很容易地找到他们。
公开与否?
若是你计划向公众发布你的框架的话,那么就有一整套另外须要考虑的事项:
- 若是你要经过WordPress主题库提交你的框架做为一个主题的话,你须要遵照主题审查指南。
- 因为用户可能会在任意场景和网站类型中使用你的框架,你须要去测试你的框架是否能在各类环境中正常工做,也许你能够争取其余的用户和开发人员帮助你进行这方面的测试。
- 某些类型的文档不管对开发人员仍是用户来讲都是必不可少的,固然这取决于你的目标受众。

您还须要考虑如何将你的框架市场化:即便它是免费的,若是你但愿更多的人去使用它,那么你就须要经过一个网站来宣传它,其余的方式有社交媒体、搜索引擎优化(SEO)、第三方主题商店、口口相传、当地聚会、WordCamps大会(由 WordPress 用户自发组织的非盈利性质大会)等。
Elixir - Restaurant WordPress Theme
你的主题框架应该包括哪些内容?
你的主题的功能有很大一部分将由你刚确认的用户的需求来决定。在决定主题框架的受众时,若是有可能,能够问问你的受众的具体需求,而后列出你的主题将包含的一些功能特征。
这张列表会包括(但不只限于)如下选择:
- 模板文件(包括模板部分和包括文件)
- 函数
- 动做挂钩(action hooks)和过滤挂钩(filter hooks)
- 小工具区域
- 目录
- 选项和设置界面
- 主题定制器支持
- 文件
- 子主题
对于这些,须要确认:
- 它的具体功能是什么
- 它会作什么
- 它的代码会在哪里出现
除了这些由不一样用户群体决定的功能之外,你也许还想包含其余的一些功能,如:
- 你的框架会具备一个内置的布局吗?这个布局是可配置的仍是会经过子主题进行编码?
- 这个功能在你的父主题中到底会有多少?一些框架具备极端最低样式,而其余人(好比我本身)采用面向对象的CSS(OOCSS)会使得样式制做在子主题中变得更加简单。
- 你的框架是响应式的仍是经过子主题进行编码?若是你的父主题是响应式的,你须要确保在子主题这个OOCSS能派上用场的领域中,它不会被任何布局样式所覆盖。
- 你会为你的框架增长SEO(搜索引擎优化)功能,是由WordPress来提供,仍是由用户使用一个独立的插件来添加呢?
- 若是有必要在你的框架内进行添加或者经过子主题进行添加,你会将诸如滑块、画廊、背景图像等等包括进去吗?
这张列表可能随着时间的推移,随着你本身和用户的需求的变化而发生改变。从一开始就要确保你的框架很容易进行拓展,而且不管什么时候你都能添加新的功能。
小结
开发出你本身的主题框架能够说是一大创举。从长远来看,这将节省你不少的开发时间,可是这也要花费大量的工做。
花一些时间去了解使用主题框架的受众,以及他们到底须要什么样的功能,由于这不管对于本身仍是其余用户,都颇有意义和价值,而且未来若是想再对框架进行扩展和修改就会容易得多。