WordPress 主题教程002:介绍
从零开始制作 WordPress 主题的教程是一个循序渐进的教程,不会一次就教会你所有的东西,那样也是不大可能的,这个教程也不是 WordPress 主题制作的参考,而是一步一步教你从零开始教你如何制作 WordPress 主题,所以首先一定要耐心。
这一篇介绍首先是 WordPress 主题制作的一个最基本的介绍,这里会涉及到 HTML 和 WordPress 的基本规则和一些专业术语,以及 WordPress 主题的层式结构,这些概念是很重要的,在教程以后部分的很多地方都会讲到,所以开始之前一定要搞清楚。
HTML 基本规则:
- 规则 #1:以正确的顺序关闭所有 HTML 标签。
- 规则 #2:每个主题至少要有这两个文件 – style.css 和 index.php。index.php 告诉主题中所有的元素如何布局,style.css 则告诉主题中所有的元素该如何展示,以及它们的样式。下面是一个完整的主题含有的文件列表,现在我们不用详细了解这个列表每个文件的意思,有个这样的印象就可以了:
style.css
index.php
home.php
single.php
page.php
archive.php
category.php
search.php
404.php
comments.php
comments-popup.php
author.php
date.php
WordPress 专业术语:
- Template(模板) — 其实就是一个代码集,主题中很多地方会利用到这个代码集,所以把它们整合成一个模板,这样就就不必一遍遍输入这些重复代码。
- Template file(模板文件) — 一个包含一个或者多个代码集(模板)文件。每个主题是由多个模板文件组成的,比如:index.php,style.css,sidebar.php 等等。
- Theme(主题)或者 WordPress theme(WordPress 主题) — 所有你正在使用的文件:文本,图像,代码等等。注意: WordPress theme(主题)和 WordPress template(s)(模板)是两个不同的东西,尽管有些人认为他们一样。
- Post(日志或者文章) — 现在你读的就是一篇日志。此外,它是你 blog 的一个简单的条目,如:一个页面或者一篇日记。
- Page(静态页面) — 一种特殊的 post,它不是以分类组织的。它有别于你其他的日志。注意:在 WordPress,page(页面)和 Page(静态页面)是两种不同的东西。
WordPress 主题的层次结构:
下图就是 WordPress 的层次结构,它简单的向你展示,一旦你主题中的某个文件丢失了,WordPress 主题系统将会使用其他什么模板文件来代替。这里列出了 6 个文件而不是完整的 13 个,因为这 6 个是相对更重要一些,不过在接下来的教程中,余下的文件也都会讲到。
另外我们还可以通过上面这张图中模板文件所处的位置来知道各个主题文件的重要性,越靠左越重要。
这里可能大家有个疑问,为什么 WordPress 模板文件会有层次结构,或者说是重要性级别呢?因为 WordPress 利用这个层次结构去寻找相应的模板文件显示页面,并且在相应的文件丢失之后如何处理。
比如 archive.php 模板文件(用来显示存档页面)丢失了,那么 WordPress 将会使用 index.php 来控制存档页面如何显示。
比如 single.php 模板文件丢失了呢,哪个模板文件它用来显示单一日志页面呢?它会寻找 index.php。
文章仅用于学习交流,转载于我爱水煮鱼:https://blog.wpjam.com/article/wp-theme-lessons/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python函数
- Effective C++条款3 我可以不使用const?
- t想成为微信斗图之王么?你需要这款开源工具的力量!
- 蛋糕被切成了几块
- 偿还技术债(1)-EventBus源码详解
- 两万六千字带你Kotlin入门
- 从源码看 Jetpack(7)-SavedStateHandle源码详解
- 从源码看 Jetpack(6)-ViewModel源码详解
- linux配置c++11编译环境
- Java 多线程编程(聊聊线程池)
- Java 多线程编程(“锁”事碎碎念)
- Spring Cloud Alibaba技术栈(下)
- Electron安装过程深入解析(读完此文解决Electron安装失败导致的无法启动,无法打包的问题)
- Kafka中副本机制的设计和原理
- Cocoapods更新出错