WordPress 主题代表了您网站的设计。它可以控制从颜色、字体到整个布局的一切。本质上,当您查看网站的前端时,所见的内容是由主题塑造的。

从侧面拍摄的网站设计拼贴画。
来自默认 Twenty Twenty-Two 主题的模板。

在 WordPress.org 主题目录 中有数千个免费的 WordPress 主题,甚至更多来自第三方目录和商店。许多个人和企业也有为其网站定制的(专门制作的)主题。

主题能做什么?

主题将 WordPress 存储的内容显示在浏览器中。当您创建 WordPress 主题时,您决定该内容的外观和显示方式。在构建主题时,您有许多选择。最大的限制是您的想象力。

作为主题创作者,您可以:

  • 创建不同的布局,例如单栏、双栏或多栏。
  • 通过自定义字体选择控制网站的排版。
  • 使用任何您想要的配色方案来美化网站。
  • 在页面的左侧或右侧放置侧边栏。或者,完全不放置侧边栏。
  • 在帖子旁边显示特色图片。
WordPress 网站编辑器显示带有黑色虚线背景和帖子三列网格的主页模板。
编辑 Twenty Twenty-Three 主题的风格变体。

WordPress 主题系统功能极其强大。就像每个网页设计项目一样,一个好的主题不仅仅是定义一两个布局和几种自定义颜色。最好的主题除了美观之外,还能提高与网站内容的参与度。

实际上,可能性几乎没有限制。除了您的想象力之外,主题创建需要一些基础知识,这在本书的 阅读此手册 页面中有所介绍。这就是本书的全部内容——教您构建自己所需主题的知识。

主题类型

WordPress 支持两种主要类型的主题:块(block)和经典(classic)。

还有一种称为混合(hybrid)主题的经典子类型,您将在下面了解它。但最重要的区别是块与经典。

从技术上讲,您甚至可以完全构建自己的主题系统。这超出了本书的范围,但至少值得注意,WordPress 允许您构建几乎任何您想做的事情。

块主题

块主题是构建 WordPress 主题的现代方法。它们通常遵循一套标准约定,并完全由块构建。本书将主要关注使用这种方法构建主题,因为这是 WordPress 项目的未来。

块主题依赖于基于 HTML 的 块模板,其中包含块标记。创建者和用户都可以在站点编辑器中编辑这些模板。用户还可以通过样式界面自定义由主题的 theme.json 文件定义的 全局设置和样式。

也可以直接从站点编辑器导出主题,而无需接触任何代码。从技术上讲,您无法完全从编辑器中从头创建新主题,但您可以修改现有主题的模板和样式——本质上就是创建自己的自定义主题。

带有黄色背景和黑色文本设计的单个帖子模板的 WordPress 站点编辑器。
在站点编辑器中编辑主题样式。

经典主题

经典主题使用基于 PHP 的模板系统,这在今天的 WordPress 中仍然得到支持。它们之所以仍被广泛使用,是因为它们建立在 2005 年随 WordPress 1.5 发布而引入的主题系统之上。WordPress 中的经典主题有着悠久而深厚的历史,并继续发展。因此,手册在 经典主题 章节中保留了关于经典主题的文档。

与块主题不同,经典主题需要遵守的标准要少得多,但您可以使用 API 来实现特定功能。经典主题创建过程至少还需要一些基本的 PHP、HTML 和 CSS 代码知识。

WordPress 自定义器显示 Twenty Twenty-Two 主题。左侧是选项列表,右侧是网站主页的预览。
在自定义器中编辑默认的 Twenty Twenty 主题样式。

混合主题

混合主题仅仅是采用了某些现代块相关功能的经典主题,例如 全局设置和样式 或 块模板部分。这是社区公认的一个术语,但它不是“官方”的主题类型。归根结底,混合主题仍然是经典主题。

熟悉主题

要构建自己的 WordPress 主题,您应该从用户的角度了解主题的工作原理。在深入创建过程之前,请尝试 安装主题 并随意玩弄它。

WordPress 自带几个默认主题,标题为 Twenty [年份],但您也应该尝试来自 主题目录 的其他主题,以了解各种可能性。

主题由什么组成?

主题可以包含许多不同的文件夹和文件类型。以下列表并不详尽,但包括您可能看到的一些常见内容:

  • 模板(块主题为 .html,经典主题为 .php)
  • CSS 样式表
  • JavaScript
  • PHP
  • 媒体(图像、音频、视频等)
  • JSON

您将在下一章中了解更多关于用于创建主题的特定文件夹和文件的信息:核心概念。

主题和插件有什么区别?

主题和插件中的功能之间通常存在重叠。然而,最佳实践是:

  • 主题控制内容的呈现。
  • 插件控制网站的行为和功能。

您创建的不应添加对网站至关重要的任何功能。这样做意味着当用户更改主题时,他们将失去对该功能的访问权限。

例如,假设您构建了一个具有作品集功能的主题。使用您的功能构建作品集的用户在更改主题时将失去该功能。通过将关键功能留给插件,您可以在保持功能完整的同时更改网站的设计。

请记住,有些用户经常切换主题。最佳做法是确保其网站所需的任何功能(即使设计发生变化)都在单独的插件中。