好久不见。笔者最近一直忙着给自己写新的Typecho主题,是基于i.zeimg.top写的,顺带出一期Typecho主题的开发教程,这也算很多站友们提的建议,毕竟笔者之前有做过typecho插件开发教程嘛。
这期就以开发一个“logo+Hello+后台设置名称”为目标写一个基础的主题来讲解typecho开发主题的基础。
正常来说,你编写Typecho主题至少需要前端三件套HTML
、CSS
和JavaScript
,以及后端PHP
这四门语言,当然如果你开发的主题不需要样式和特效的话只要会HTML和PHP即可
可兴的是,它们都非常简单,以至于你只需要3个月就可以学习成为一名优秀的PHP全栈开发工程师,其中还包括前端原生和后端数据库,这些是开发主题几乎不需要用到的。
我们就以Typecho的默认主题“Defeat”作为例子,先看文件结构:
可以看到有很多文件,笔者给大家解释一下:
文件名 | 文件解析 |
---|---|
404.php | 页面未找到模板 |
archive.php | 独立页面、文章通用文件 |
comments.php | 评论区模板 |
footer.php | 页脚模板 |
functions.php | 函数文件、主文件 |
header.php | 头部模板 |
index.php | 首页模板 |
post.php | 文章页模板 |
page.php | 独立页面模板 |
sidebar.php | 侧边栏模板 |
screenshot.png | 预览、主题页展示图 |
先来看看index.php,可以看见第一个引入眼帘的是一段注释:
1 |
|
代码解析,你可以按照这个把代码改成你自己的内容:
1 |
|
必要的说一下,header.php
是从HTML文档声明到<head>
标签或者<header>
标签;
head标签用于定义文档头部,包含元数据如字符编码、关键词等,而header标签则用于定义网页或区块的页眉,通常包括标题和导航栏。 正确使用这两个标签能提升网页的结构和语义化。
同时,index.php内只需包含一半<body>
标签即可,也就是说footer.php
要从<footer>
标签写到</html>
标签,当然了,这个只是笔者个人的建议,也是最常用的写法,可以完全按照个人习惯来写,只要能用即可。
那么接下来就开始编写主题的首页,本期教程只教如何写一个Hello <name>
的主题,其中<name>
可以在后台设置,具体的开发方法也差不多是这样对堆叠,文末会写typecho的各种钩子核调用方法。
接下来我们打开header.php
,并写入如下代码:
1 |
|
然后打开index.php
,写入如下代码:
1 |
|
再打开footer.php
,写入代码:
1 |
|
接下来要实现的是后台设置标题展示hello 名字,同时也能教你们如何创建设置表单并调用设置。
打开functions.php
,可以看到里面有代码,清空它,并在文件中添加一个themeConfig($form)函数,这是一个钩子函数,因此函数名也是固定的。在函数中添加一个文本控件就可以了,其它常用的控件还有Checkbox、Radio、Select等,我们可以在Typecho/Widget/Helper/Form/Element文件夹找到,实例代码:
1 |
|
再次打开index.php
,修改Hello World
为:
1 |
|
header.php
的title也能改改。也就弄好了。
保存,typecho后台启用主题,设置名字,打开网站即可预览主题啦。
梦泽Hexo文章模板