【基础篇】2、WordPress 的主题机制

在制作 WordPress 主题之前,先要大体了解一下 WordPress 的主题机制,这样才能将自己设计的 HTML 模板等,转换成 WordPress 所能识别的主题文件。在这篇文章中,有一些概念会比较抽象,在随后的教程中,你会亲身感受到这些概念,就明白了。所以,你只需要记住下面三个大标题即可,如果不懂不用怕,在后面的基础教程中,你会理解的。

经过潜行者 m思考总结,WordPress 主要有以下三个显而易见的主题机制:函数调用数据机制缺失文件替换机制分离文件分块调用机制

一个 WordPress 主题默认的文件目录

这是来自官方的说明,一个主题中需要包含以下文件。当然对于新手和比较简单的模板,我们并不需要设计生成这么多的文件,如果做比较专业的主题,则需要设计生成更多的文件,这个将会在【中级篇】的文章中深入介绍。

  • 404 错误页 = 404.php
  • 存档页 = archive.php
  • 存档索引页 = archives.php
  • 评论页 = comments.php
  • 底部 = footer.php
  • 头部 = header.php
  • 链接 = links.php
  • 首页 = index.php
  • 静态页 = page.php
  • 弹出式评论页 = comments-popup.php
  • 单篇博文页 = single.php
  • 搜索表单 = searchform.php
  • 搜索 = search.php
  • 侧栏 = sidebar.php
  • 样式表 = style.css

函数调用数据机制

首先你要明白,一个主题,要展示输入的文章等数据,它会需要一种代码来从数据库中提取数据,然后结合你自己编写的 HTML 文件,生成供浏览者观看的页面。

在 WordPress 中,官方团队为你写好了一系列的数据调用函数,使用这些函数以及相应的参数,就可以调用相应的博客数据并且显示出来。这样,当我们设计好了我们的 HTML 模板之后,只需要在相应的地方,加上调用相应数据的函数,就可以显示出来了。

在随后的教程中,我们就会遇到那些常用的函数,以及函数的参数和使用方法、效果。

缺失文件替换机制

从上面的标准主题的文件列表里面,我们可以清晰的看到每个文件都有每个文件的功能,例如 sidebar.php 是边栏文件; single.php 是用来显示文章的文件。同时,潜行者 m还说了,如果是比较简单的主题,并不需要这么多的文件。这里,你会不会产生一种疑问:如果缺少了某个功能文件,WordPress 会怎样处理?

这就是 WordPress 的缺失文件替换机制要处理的。WordPress 主题里面,最重要的只有两个文件:index.php、style.css 这两个文件。一个是模板文件,另一个是 CSS 定义样式用的。而其他的 single.php 等文件,则是 index.php 的下级文件。WordPress 发现没有相对应的功能文件(例如显示文章的 single.php),它就会使用上级文件来代替显示缺失文件的内容(缺失 single.php,就使用 index.php 来显示文章内容)。

具体关系如下图:

分离文件分块调用机制

制作主题的时候,通常先制作 index.php 文件,来做出整体的效果。做完 index.php 文件之后,我们通常会把顶部的信息、边栏、底部的信息,分离出来,分别生成 header.php、sidebar.php、footer.php 这三个文件。之后,在 index.php 以及其他的主题文件中,使用相应的函数来调用这三个文件。

为什么?因为头部、边栏和底部的内容,通常是不变化的,变化最多的就是博客的主体。所以将这几块分离出来,提高代码的重用,同时也提高修改和二次开发的效率,这点是非常科学的,你将会慢慢体会到。

本节课的总结

通过本节课,我们了解到了 WordPress 主体的标准文件列表,同时我们了解了三种 WordPress 的主题机制。其中,缺失文件替换机制,让我们了解到,比较简单的模板,并不需要设计生成标准文件列表里面的文件,我们只需要设计主要的文件即可,因为缺失的其他功能文件,WordPress 系统会使用 index.php 的文件内容来显示。所以,在【基础篇】,我们要做的主题文件列表如下:

  • index.php = 主体文件
  • header.php = 头部文件
  • sidebar.php = 边栏文件
  • footer.php = 底部文件
  • single.php = 文章显示文件
  • page.php = 页面显示文件
    同时,我们还确定了我们制作主题的大体流程:
  1. 制作 index.html 和 style.css 文件,确定主题的整体风格。
  2. 放入 WordPress 主题目录中,修改成 index.php。
  3. 对 index.php 进行文件分割,分离出内容不变的 header.php、footer.php、sidebar.php 文件。
  4. 由 index.php 文件,生成 single.php 文章页面,并进行简单改造。
  5. 由 single.php 文件生成 page.php 文件,因为文章和页面的布局比较像。
  6. 在各种主题文件中,插入 WordPress 数据调用函数,然后显示博客数据。
    随后的【基础篇】教程,潜行者 m将围绕这几个大体流程来依次讲解,直到最后做出一个比较简单的主题。

之前的系列文章

  1. 开始执行的 wordpress 主题教程计划
  2. 【基础篇】1、学习制作主题之前的准备