Shopify 知识库 · 概念
主题管理:主题库、发布、回滚与版本
梳理 Shopify 主题库里的添加、预览、复制、发布、下载与删除,主题数量上限,官方页面对回滚与主题版本更新的表述,以及代码编辑器、Shopify CLI 与 GitHub 集成各自的边界。
Online Store > Themes 是店铺主题的库存与切换台:哪个主题在线上、哪些是草稿、怎样备份、怎样把新版本换上去,都在这里完成。本文只说明这套管理动作在官方页面里的样子,以及「回滚」到底有什么可用做法;它不解决主题怎么设计、怎么写(见下方分工),也不替代在真实店铺里的一次发布演练。
本库哪些内容依赖它
本文是主题库与版本管理机制的权威来源,其他文章只写各自语境下的用法:
- Shopify Theme 交付框架的最后一步要求保存版本、测试条件与「回滚或迁移条件」;本文提供这些条件在平台上的落点。
- 主题结构与渲染关系回答主题里有什么文件;本文回答主题作为一个整体怎么存放、切换和更新。
- 官方主题解析固定 Dawn v15.3.0 与 Horizon 4.2.0 作研究基线;Dawn 上游已有更新版本,差异未核对;Horizon 4.2.0 是 2026-10-07 核对时 GitHub 上游
main的最新提交,此后的上游更新同样不会自动进入基线;店铺里实际安装的主题版本同样不能默认等同该基线。 - 文件同步差异讨论的是 Content > Files 里的媒体文件,而下载主题不含这些文件(见下),两者是不同的备份对象。
- 套餐记录 Starter 只能使用 Spotlight 主题,与本文的主题数量上限一并读。
核心对象与概念
| 对象 | 含义 | 备注 |
|---|---|---|
| 已发布主题 | 顾客当前看到的主题 | 官方页写同一时间只能有一个 |
| Draft themes | 主题库中未发布的主题 | 发布新主题后,原已发布主题移到这里,官方页写「None of your theme changes are lost」 |
| 复制(Duplicate) | 备份或试验用副本 | 自动命名为「Copy of」加原名 |
| 更新副本 | 主题更新产生的新草稿 | 自动带前缀「Updated copy of」 |
| 架构版本 | Vintage、Online Store 2.0、Theme blocks | 与版本号不是一回事,见下 |
| 版本号 | 如 1.0,相对 Theme Store 中该主题的最新版本 | 官方页明确它不同于架构版本 |
| 预览 | 未发布主题的预览与分享链接 | 已发布主题不能生成分享预览 |
| Development theme | Shopify CLI 创建的临时隐藏主题 | 不计入主题上限 |
在哪里配置
以下菜单名与按钮名均来自各官方页原文;界面文字随版本变化,落地前以店铺当前界面为准。
- 添加:Online Store 页,从 Add themes > Visit Theme Store 找主题并 Try theme,免费主题为 Add;有 zip 时在 Draft themes 中选 Import theme > Upload zip file,再 Choose File 与 Upload。官方页未写 zip 大小上限,本文不推断。
- 预览:主题的操作菜单选 Preview,可在 View as 中切换国家与语言,随后 Edit theme 或 Close preview。
- 分享预览:预览栏里的链接按钮。官方页区分两类:visitor preview 任何拿到 URL 的人可见、无需认证、创建后 2 天过期;merchant preview 需要管理员认证、可访问结账、创建后 30 天过期。不能分享已发布主题的预览。
- 发布:在 Draft themes 里对目标主题选 Publish,或在主题编辑器顶栏点 Publish 并在弹窗中确认。发布不改变店铺的密码保护(私有模式)设置。
- 复制、下载、删除:主题的操作菜单里分别是 Duplicate、Download theme file、Delete。下载的 zip 发送到员工登录邮箱,包含主题文件,不含商品、集合、菜单、页面、博客、Content > Files 里的文件。
- 更新:Theme Store 主题有更新时,Online Store 页出现通知,点 Add to draft themes。官方页写第三方站点购买的主题不支持这种更新。
- 编辑代码:Online Store 的主题菜单里选 Edit code。
与主题、Liquid 和 API 的连接
官方页对这三个入口的说法各不相同,本文只写所读:
- 代码编辑器:在 Admin 内查看并编辑主题代码,主题文件含 Liquid、HTML、CSS、JSON、JavaScript;shopify.dev 页写内置 Theme Check。官方页提示只在懂 HTML、CSS 并对 Liquid 有基础了解时编辑,并多次建议先复制主题作备份。
- Shopify CLI:可对主题做本地预览、push、pull、publish 与 Theme Check。Development theme 闲置七天后会从店铺删除、执行
shopify auth logout时也会删除;需要持久预览链接时,页面写可把它推送成未发布主题。使用需要店主、带 Themes 权限的员工或带 Manage themes 权限的协作者身份(员工权限见身份与权限)。 - GitHub 集成:在 Online Store > Themes 里 Add theme > Connect from GitHub,选组织、仓库与分支。一个分支对应一个主题,分支更新会同步到主题,Admin 内的编辑会被提交回分支。仓库须符合默认主题目录结构、需有写权限;断开后不能把同一分支重连回原主题,重连会新建主题;冲突可在 GitHub 解决或强推,也可在主题卡的 Actions > Reset to last commit。shopify.dev 的版本控制页同时写到「仅源码」的仓库形态与该集成不兼容。
应用注入的 app block 或 app embed 属于应用层,见原生配置、应用与开发。
回滚:官方页读到什么
三个层次要分开:
- 整站层面:所读的管理主题页、更新页与版本页均未出现名为「一键回滚」的整站功能,更新页也未提供回退到旧版本的机制;这只是「在这些页面范围内未见」,不是平台不存在的证明。官方给出的可用材料是:发布新主题后旧主题移到 Draft themes 且更改不丢失,因此重新 Publish 那个旧主题是把它放回线上的路径(依据发布页的表述,未在店铺实测);编辑前 Duplicate、下载 zip 或用 GitHub 保存,是事前备份。
- 更新层面:更新不覆盖当前主题,而是生成「Updated copy of」草稿,可先预览再发布,旧主题保持不动。
- 单文件层面:代码编辑器的 Timeline 可比较并恢复单个文件的历史版本。官方限制:它一次只恢复一个文件、不恢复整个主题、无法找回已删除的文件、历史有限、assets 文件夹里的文件没有 Timeline,且恢复会替换整个文件内容,官方建议先把当前内容复制出来。两页对操作名的写法并列:help.shopify.com 写「Restore contents」,shopify.dev 写「Revert contents」;后者还写 Timeline 显示 Liquid 文件的历史版本。
限制、数值与易错点
- 主题数量上限:发布页、复制页、下载页、删除页均写 20 个,未按套餐区分;添加与预览页则写 Starter 只能添加 Spotlight,Basic、Grow、Advanced 最多 20 个,Shopify Plus 最多 100 个。两处并列,不选边;各页未逐句说明已发布主题是否计入,本文未核验。达到上限后需删除一个才能再复制,或先下载留存。
- 删除不可撤销:官方页写 Deleting a theme is a permanent action;已发布主题不能直接删除,须先发布另一个主题。
- 主题更新对自定义的影响:更新页写主题设置、页面布局(增删、排序、隐藏 section 与 block)、section 设置、自定义模板、app embed 与经编辑器改过的文字会带入更新。代码修改若与更新不冲突会一并带入,页面提示为「Theme added: code edits successfully included」或「code edits could not be included」;后者需要手动复制到新版本,官方建议更新前用 diff 工具比对。
- 架构版本:官方页把主题分为 Vintage(不再于 Theme Store 提供,免费 Vintage 主题只收安全修复)、Online Store 2.0 与 Theme blocks,版本号与之无关。
- Theme Store 授权:主题只授权给购买它的店铺;转到别的店铺须先下载,且下载不含店铺内容。
验证一次
- 在测试店铺 Duplicate 当前已发布主题,确认出现「Copy of」,并记录主题总数与上限的关系。
- 对副本做一处设置与一处代码修改,用 Preview 与 View as 切换国家、语言检查,再生成 visitor preview,对照 2 天有效期。
- Publish 副本,确认原主题落入 Draft themes;再 Publish 原主题,确认线上恢复。
- 在代码编辑器改一个 Liquid 文件与一个 assets 文件,分别查看 Timeline,验证前者可恢复、后者无历史。
- 有可更新的 Theme Store 主题时,用 Add to draft themes 生成「Updated copy of」,核对自定义与代码修改带入的提示。
待继续完善
- 实测发布与恢复的耗时,以及发布后购物车、结账与应用嵌入是否需要复查。
- 逐套餐核验主题数量上限,并确认已发布主题是否计入。
- 预览链接与 storefront 密码的关系官方页所读未提及,待核验。