AumCreate 是一款 WordPress 主题。它独立渲染一整套站点:带徽标和菜单的站点页头、 博客首页、归档页、搜索结果、文章页、页面、作者资料页和评论。 当 Aumframe 可视化编辑器在场且某份设计接管了某个地址时,主题会在该地址让位。
1. 主题如何渲染一个页面
WordPress 为每个地址选定一个模板文件。AumCreate 为模板层级问到的每一种情况都提供了模板, 这些模板依据文章内容、主题设置和配色方案绘制页面。
在此之上还有三件事:
- 站点页头和页脚由 AumCreate 绘制。当 Aumframe 启用且已发布站点外壳时, 外壳会取代二者,主题不再输出自己的那一份。
- 当 Aumframe 启用且某份设计匹配当前地址时,该设计完全取代主题为这个地址生成的输出。 主题通过
aumframe_is_taking_over()判断这一情况,并跳过自身模板原本需要的样式表和脚本。 - WooCommerce、AumNexCart 和 AumReserva 均在运行时探测。任何一个不在场时主题照常渲染, 主题的任何部分都不假设它们已安装。
主题声明支持 post-thumbnails、title-tag、automatic-feed-links、html5、 responsive-embeds、align-wide,以及 WooCommerce 启用时的商品相册特性。 它注册一个菜单位置:主菜单。

2. 安装
安装并启用主题。无需任何额外配置即可得到一个可用的站点。

有两项建议先设置,因为站点页头会读取它们:
- 外观 → 菜单 —— 为主菜单位置指定一个菜单。
- AumCreate → 主题设置 → 常规设置 —— 上传一张横向徽标。
未设置徽标时,页头显示站点标题。未指定菜单时,页头只显示徽标。
3. 主题设置页
主题添加一个顶级菜单项 AumCreate,其下只有一个子项主题设置。 主题全部可配置的内容都在这一个页面上,按标签分开:

| 标签 | 内容 |
|---|---|
| 常规设置 | 徽标、主题模式、前台明暗切换、可搜索的内容类型、默认文章缩略图 |
| 颜色设置 | 浅色方案、深色方案,以及自定义的颜色令牌 |
| 布局设置 | 内容宽度、图片方向、返回顶部按钮、社交侧边栏、文章侧边栏模块,以及字体排印 |
| 用户设置 | 注册、全局社交功能开关、默认头像、登录页面轮播 |
| 性能 | 八个开关,各自对应一项消耗流量或请求的 WordPress 行为 |
| WooCommerce | 商店版式;该标签仅在 WooCommerce 启用时出现 |
每个标签独立保存。字段的说明文字位于该字段下方。
4. 站点标识与站点页头
站点页头由两项设置和一个 WordPress 菜单位置绘制。
4.1 徽标
常规设置提供四个徽标位:横向徽标和方形徽标,各自另有一份深色模式变体。 站点页头使用横向这一对;方形那一对用于横向徽标放不下的位置。
两份变体都会写进页面,由当前配色决定显示哪一份。只设置浅色那一份是合法的: 该徽标会在两种配色下都显示,对于在深浅底色上都能读的标志而言这正是应有的选择。
4.2 主菜单
页头渲染指定到主菜单位置的菜单,只渲染一级。站点页头不绘制子菜单项。
该位置未指定菜单时,页头只渲染徽标,而不会退回成一个页面列表。

4.3 页脚
主题自带的页脚包含站点名称和当前年份。它刻意保持简短: 需要一个经过设计的页脚时,由 Aumframe 的站点外壳提供,并取代这一份。
5. 颜色与昼夜配色
5.1 两套配色
颜色设置中有一套浅色配色和一套深色配色。每套设定七个值: 品牌色、辅助色、页面背景、卡片背景、边框色、次要文字色和滚动条颜色。

5.2 文字颜色是算出来的
这七项里没有文字颜色。主题依据每种背景自身的相对亮度计算其墨色, 分别与白色和近黑色比对比度,取较高的那一个。因此背景一改,其上的文字随之改变; 品牌色深到需要白字时就会得到白字,不需要另一项设置去和它保持一致。
5.3 主题模式
常规设置中的主题模式取三个值之一:
- 浅色模式 —— 站点始终渲染浅色配色。
- 深色模式 —— 站点始终渲染深色配色。
- 跟随系统 —— 配色跟随访客操作系统的偏好。
5.4 前台切换
前台明暗切换会增加一个控件,让访客自行切换配色。该设置与主题模式彼此独立: 站点可以默认深色同时提供切换,也可以默认浅色而完全不提供切换。
5.5 自定义颜色令牌
自定义全局颜色接受具名颜色,每一项各有浅色值和深色值。 每一项都会成为一个以其别名命名的 CSS 自定义属性,可供任何自定义 CSS 以及 Aumframe 中的设计使用。
6. 字体排印
字体排印位于布局设置标签,设定三种字体:标题字体、正文字体和等宽字体。 每一项都可以是系统字体栈或 Google 字体。
第四项控件回退字体栈决定在 CSS 字体栈中排在所选字族之后的内容, 使网页字体加载期间或加载失败时,文字仍以相近的形态渲染。
自定义字体 CSS 接受指向任何其他来源的 @font-face 或 @import 规则。 主题会把字体的 @import 放在它生成的样式表中所有规则之前, 因为浏览器会丢弃排在规则之后的 @import,并且不会就此报出任何提示。
7. 布局、浮动控件与文章侧边栏
7.1 内容宽度与图片形状
内容宽度设定内容列的最大宽度。图片方向在 4:3 与 3:4 之间选择列表中封面图的宽高比, 该比例以 CSS aspect-ratio 实现,不裁切文件本身。
7.2 浮动列
三个控件共用视口角落的同一条固定列:返回顶部按钮、明暗切换和社交侧边栏。 返回顶部按钮和社交侧边栏各自控制其中一个成员的显示。
这条列挂在 wp_footer 上,而主题页脚和 Aumframe 的画布都会调用它, 因此其成员在每个页面上都出现,包括被设计接管的页面。
7.3 社交链接
社交链接接受任意数量的条目。每个条目包含一张图标、一个背景色、一个悬停色, 以及三种行为之一:链接、悬停时显示的文字浮层、悬停时显示的图片浮层。 二维码通常选择图片浮层。
7.4 文章侧边栏模块
文章侧边栏模块决定文章页旁边出现哪些模块,以及它们的顺序:
- 目录 —— 由文章中的标题生成。
- 文章导航(上一篇/下一篇) —— 指向相邻的文章。
- 相关文章 —— 共享分类或标签的文章。
- 标签 —— 该文章的标签。
每个模块各有开关,列表顺序即渲染顺序。

8. 文章模板
每篇文章的编辑器侧栏都有一个文章模板面板,提供三个选项。

8.1 文本
默认项。文章渲染为一个以特色图为背景、标题压在其上的头图,其下是文章正文和侧边栏模块。

8.2 画廊
面板会出现一个图片选择器。在那里选中的图片渲染为正文上方的画廊; 当文章未设置特色图时,其中第一张会成为该文章在各类列表中的封面。
8.3 视频
面板会出现一个视频选择器,文章渲染时以视频取代头图。
视频本身没有缩略图,因此面板提供了生成一张的入口:浏览器载入所选视频、定位到某一帧、 把该帧绘制到画布上,再将结果上传为该文章的特色图。整个过程在浏览器中完成, 不涉及任何服务端视频工具。
8.4 列表中的封面
文章出现在任何列表中时,其封面按以下顺序解析:特色图、相册首图、视频封面, 最后是常规设置中的默认文章缩略图。四者皆无时,卡片不显示图片, 而不是显示一张破损的图。
9. 列表页
有三个模板渲染文章列表,三者使用同一张卡片:封面图、标题、日期、评论数、 可用时的浏览与互动计数,以及一段截断的摘要。
9.1 博客首页
文章页按内容宽度所能容纳的列数排布卡片,在手机上降为一列。

9.2 归档页
分类、标签、日期或自定义文章类型的归档页比博客首页多三样东西:
- 一条筛选栏,包含排序方式(最新、最近更新、评论最多、标题 A–Z 和随机)、 方向,以及一个限定在本归档内的搜索框。
- 一条侧边栏,包含分类、近期文章和标签云,各自位于可折叠的面板中。
- 不刷新页面的翻页:改变筛选条件或页码时取回下一批并就地替换卡片。

9.3 搜索结果
搜索结果以同样的卡片、同样的侧边栏渲染。常规设置中的搜索类型 决定除文章和页面之外还搜索哪些内容类型。

10. 作者资料页
每个作者地址渲染的是一张资料页,而非该作者文章的普通列表。 页面包含作者的头像、简介、加入日期、所在地和网站,以及一组标签页:
- 近期文章 —— 该作者已发布的文章。
- 已赞的文章和已收藏的文章 —— 互动功能可用时,该作者标记过的内容。
- 关注中和关注者 —— 该作者与其他用户的关系。
- 订单和下载 —— WooCommerce 启用时出现,且仅资料页本人可见。
已登录的作者在查看自己的资料页时,可就地编辑简介、所在地、网站和生日, 也可以在同一屏更换头像。

11. 评论
评论支持嵌套,并通过 AJAX 加载:首屏随文章一同到达,之后翻页就地替换列表,不刷新页面。 回复表单在被回复的那条评论下方展开。
评论列表和回复表单从 <body> 上的 data-post-id 属性读取文章标识, 该属性由主题在每个单条视图上写出。

12. 会员与社交功能
12.1 注册与登录页
允许注册与同名的 WordPress 设置保持一致:在这里打开它, 设置 → 常规中的那一项也会随之打开。
主题以自己的登录页取代 WordPress 的登录屏,页面上有站点徽标和一组轮播图。 登录页面轮播保存这些图片,默认头像设定未上传头像的账号所使用的头像。

12.2 全局社交开关
全局社交功能开关控制全站的浏览量、点赞和收藏:卡片上的计数、文章页上的按钮, 以及作者资料页上的已赞的文章与已收藏的文章标签页。
这些计数由 Aumframe 存储和提供。开关打开而 Aumframe 不在场时,主题不渲染任何计数, 而不是渲染一排零 —— 一个表示「没有任何东西在计数」的零不是计数。
13. 性能开关
性能标签上有八个开关,每一个对应一项消耗流量或请求的 WordPress 行为。 八个默认全部关闭,每一个都写明了它移除什么:
- 禁用表情符号脚本 —— 移除表情符号的 JavaScript 和 CSS,约 10 kB。 现代浏览器不依赖它们也能渲染表情符号。
- 禁用嵌入脚本 —— 移除让其他站点嵌入你的内容所需的 oEmbed 宿主脚本。
- 限制文章修订版本(最多5个) —— 每篇文章最多保留五个修订版本。
- 降低心跳频率 —— 把后台 Heartbeat API 由每 15 秒一次放慢到每 60 秒一次。
- 延迟加载iframe —— 为 iframe 添加
loading="lazy"。 - 禁用XML-RPC —— 封禁 XML-RPC 端点。只有在你使用的一切都不经由 XML-RPC 连接时才打开它。
- 延迟非关键JS —— 为无需阻塞解析的脚本添加
defer。 - 移除版本查询字符串 —— 从本地 CSS 和 JS 地址中去掉
?ver=, 使那些拒绝缓存带查询字符串地址的缓存层愿意缓存它们。

14. WooCommerce
WooCommerce 标签仅在 WooCommerce 启用时出现,包含七项设置: 商店页面的内容宽度,桌面端、平板端和移动端的每行产品数,每页产品数, 加载模式(分页或加载更多按钮),以及商品页上显示的相关产品数量。
主题同时声明支持 WooCommerce 的商品相册缩放、灯箱和轮播, 并在站点以深色渲染时为区块结账页挂上 WooCommerce 自己的深色控件样式, 使结账表单的输入框跟随配色。
15. 扩展本主题的插件
以上任何一个都不安装,主题照常工作。每一个增加的是能力,而不是让主题可用, 而且主题不会提到它们中的任何一个。后台没有提示、没有清单、也没有安装入口: 只装主题的站点本身就是一个完整的站点,主题没有什么「还缺」可报。
真正带插件要求的是模板包 —— 它的内容本来就是用那些插件做出来的。那些要求属于模板包, 由安装它的模板管理器去读、去说这个站还缺什么。
- Aumframe —— 可视化设计:页面版式、以站点外壳形式绘制的页头页脚, 以及绑定到内容的模板。浏览量、点赞和收藏的计数也归它, 模板管理器读取的模板包格式同样由它定义。
- AumViso —— 搜索引擎元数据、结构化数据,以及常见问题、指南和术语表三种内容类型。
- WooCommerce —— 商店。主题的 WooCommerce 标签,以及作者资料页上的订单和下载 标签页,随它出现。
- AumNexCart —— 以询价取代结账的商品目录。
- AumReserva —— 预约。
每一个都在运行时探测。主题不声明对其中任何一个的依赖,移除其中之一, 站点回到主题自身渲染的样子。
主题确实会显示的消息只有一条,而它不是建议。当 Aumframe 已安装、但版本低于站上的设计所需时, 设置页会写明装的是哪一版、需要哪一版 —— 已经存在的设计会停止渲染,直到它被更新。
16. 设置项逐项
主题设置页上的全部字段,按标签列出,并给出它写入的选项键。 所有字段都保存在同一个 WordPress 选项 aumcreate_settings 中。
16.1 常规设置
| 字段 | 键 | 取值 |
|---|---|---|
| 前台明暗切换 | show_theme_toggle | 开或关 |
| 搜索类型 | search_types | 除文章和页面之外还搜索的内容类型 |
| 主题模式 | theme_mode | light、dark 或 system |
| 浅色模式 - 横向徽标 (250x50) | logo_horizontal | 图片 |
| 浅色模式 - 方形徽标 | logo_square | 图片 |
| 深色模式 - 横向徽标 | logo_horizontal_dark | 图片 |
| 深色模式 - 方形徽标 | logo_square_dark | 图片 |
| 默认文章缩略图 | default_post_thumbnail | 图片 |
16.2 颜色设置
| 字段 | 键 | 取值 |
|---|---|---|
| 浅色模式颜色 | light_colors | 品牌色、辅助色、页面背景、卡片背景、边框、次要文字、滚动条 |
| 深色模式颜色 | dark_colors | 深色模式下的同样七项 |
| 自定义全局颜色 | custom_colors | 具名颜色,每项各有浅色值和深色值 |
16.3 布局设置
| 字段 | 键 | 取值 |
|---|---|---|
| 标题字体 | font_display | 系统字体栈或 Google 字体 |
| 正文字体 | font_body | 系统字体栈或 Google 字体 |
| 等宽字体 | font_mono | 系统字体栈或 Google 字体 |
| 回退字体栈 | font_fallback | sans、serif 或 mono |
| 自定义字体 CSS | font_custom_css | @font-face 或 @import 规则 |
| 内容宽度 | container_width | CSS 长度 |
| 图片方向 | image_aspect_ratio | 4x3 或 3x4 |
| 返回顶部按钮 | backtop_button | 开或关 |
| 社交侧边栏 | social_sidebar_enabled | 开或关 |
| 社交链接 | social_sidebar_links | 条目,各含图标、颜色,以及链接或浮层 |
| 文章侧边栏模块 | post_sidebar_modules | 有序的模块列表,各自开或关 |
16.4 用户设置
| 字段 | 键 | 取值 |
|---|---|---|
| 允许注册 | users_can_register | 开或关;与 WordPress 的同名设置保持一致 |
| 全局社交功能开关 | social_features | 开或关 |
| 默认头像 | default_avatar | 图片 |
| 登录页面轮播 | login_carousel_images | 图片 |
16.5 性能
| 字段 | 键 |
|---|---|
| 禁用表情符号脚本 | perf_disable_emoji |
| 禁用嵌入脚本 | perf_disable_embeds |
| 限制文章修订版本(最多5个) | perf_limit_revisions |
| 降低心跳频率 | perf_slow_heartbeat |
| 延迟加载iframe | perf_lazy_iframes |
| 禁用XML-RPC | perf_disable_xmlrpc |
| 延迟非关键JS | perf_defer_scripts |
| 移除版本查询字符串 | perf_remove_query_strings |
16.6 WooCommerce
| 字段 | 键 | 取值 |
|---|---|---|
| WooCommerce内容宽度 | woo_container_width | CSS 长度 |
| 每行产品数(桌面端) | woo_columns_desktop | 数字 |
| 每行产品数(平板端) | woo_columns_tablet | 数字 |
| 每行产品数(移动端) | woo_columns_mobile | 数字 |
| 每页产品数 | woo_per_page | 数字 |
| 加载模式 | woo_load_mode | pagination 或 loadmore |
| 相关产品数量 | woo_related_count | 数字 |
17. 排查
站点没有页头。 在外观 → 菜单中为主菜单位置指定一个菜单, 并在常规设置中上传一张横向徽标。两者都没有时,页头只显示站点标题。
某个页面完全不像主题的模板。 有一份 Aumframe 设计匹配了那个地址并取代了模板输出。 由该设计的规则决定它接管哪些地址。
卡片上没有浏览、点赞和收藏的计数。 这些计数来自 Aumframe。 插件不在场时,主题不渲染任何计数,而不是渲染零。
已翻译的站点上日期和计数仍是英文。 主题只附带一种翻译:简体中文。 WordPress 不会在语言之间回退,因此设成其他语言的站点,主题自身的文案渲染为英文。
在字体排印中选的字体始终不出现。 Google 字体的请求可能很慢, 也可能因访客所在地而被阻断。回退字体栈决定这期间渲染什么, 自定义字体 CSS 接受指向任何其他来源的字体规则。