Files
car-t-t/README.md
T
zhs123 43272d25eb refactor: 死代码清理 + CDN SRI 加固 + 面包屑组件 + 代码规范文档
- 删除 7 个死模板文件 (products/services/quality/process/projects/customization/rfq)
- 删除 13 个旧图片素材 (jpg/png/webp)
- 新增 CDN SRI 完整性校验 (Bootstrap CSS/JS)
- 新增面包屑导航模板组件
- 新增代码清理方案与代码审查标准文档
- 更新 README.md
2026-07-24 17:48:00 +08:00

194 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# B2B Trade — 汽车贴膜门店 WordPress 主题
专业汽车贴膜门店(面向终端车主)的经典 WordPress 主题。支持服务项目展示、施工案例作品集、在线预约联系,适配移动端。
## 项目说明
本主题面向汽车贴膜门店(TPU 保护膜 / 彩色改色膜 / 隔热防爆膜等),不是 B2B 代工厂模板。站点采用多页面架构 + 自定义文章类型,首页为落地页,引导车主浏览服务、查看案例并预约到店。
> 仓库名 `fragrance-trade` 为历史遗留(原是香水贸易模板),代码标识符(文本域 `fragrance-trade`、CSS 前缀 `fragrance-`、PHP 函数前缀 `fragrance_trade_`)保持不变,不影响功能。
## 环境要求
- WordPress 6.5+
- PHP 7.4+
- 生产环境建议使用 HTTPS 和认证 SMTP
## 安装
1.`fragrance-trade` 文件夹复制到 `wp-content/themes/`
2.**外观 → 主题** 中激活 **B2B Trade**
3. 主题激活时自动完成初始化:
- 注册 `service`(服务项目)和 `case`(案例作品)两个自定义文章类型
- 将 Customizer 中的 7 个产品数据迁移为 `service` 文章
- 自动创建首页、关于门店、常见问题、预约/联系四个页面
- 将首页设置为静态首页
4. **重要:** 激活后进入 **设置 → 固定链接**,点击"保存更改"刷新路由规则。
5.**外观 → 自定义 → 站点身份** 中设置站点标题和 Logo。
6.**外观 → 菜单** 中创建导航菜单并分配到 **主导航**
7. 打开 **外观 → 自定义 → 门店首页**,将所有演示文案替换为真实门店信息。
## 站点架构
### 页面结构
| 页面 | 模板 | 说明 |
|------|------|------|
| 首页 | `front-page.php` | 落地页:Hero + 信任栏 + 服务项目预览 + 案例预览 + CTA |
| 服务项目列表 | `archive-service.php` | 展示全部服务项目(膜品) |
| 服务项目详情 | `single-service.php` | 单个膜品详情 |
| 案例作品列表 | `archive-case.php` | 施工案例作品集,支持按分类筛选 |
| 案例详情 | `single-case.php` | 单个施工案例 |
| 关于门店 | `page-about.php` | 门店介绍、环境展示、视频、服务保障 |
| 常见问题 | `page-faq.php` | FAQ 手风琴 |
| 预约/联系 | `page-contact.php` | 门店信息 + 联系方式 + 百度地图导航 |
### 首页板块(5 个模板片段)
`front-page.php` 组装以下片段(来自 `template-parts/home/`):
1. `hero` — 首屏定位与行动按钮
2. `trust` — 信任栏(4 个证明点)
3. `service-teaser` — 服务项目预览(从 `service` CPT 读取最新 3 条)
4. `case-teaser` — 案例预览(从 `case` CPT 读取最新 3 条)
5. `cta` — 行动召唤板块
### 自定义文章类型
| CPT | 功能 | URL |
|-----|------|-----|
| `service` | 服务项目 / 膜品(TPU保护膜、彩色改色膜、隔热防爆膜等) | `/services/` |
| `case` | 施工案例作品集 | `/cases/` |
| `case_type` | 案例分类(taxonomy,挂在 `case` 上) | `/case-type/` |
主题激活时自动将 Customizer 中的 7 个产品数据迁移为 `service` 文章。
### 面包屑导航
`template-parts/breadcrumb.php` 提供可复用的面包屑组件,接受 `$args['items']` 数组(每项含 `label` 和可选 `url`)。在服务详情、案例详情等内页中调用以展示层级导航路径。
## 自定义器(Customizer
**门店首页** 面板包含以下板块:
- 首屏定位(眉标、主标题、简介、双按钮)
- 信任栏(4 个证明点)
- 服务项目(4 张服务卡片)
- 产品能力(7 个产品参考卡片及图片)
- 定制选项(8 个定制项)
- 门店环境与参观(简介、4 张门店图片、视频链接)
- 品质管控(6 个品质步骤)
- 项目流程(8 个流程步骤)
- 项目案例(3 个案例,可开关显示)
- 文档支持(4 个文档卡片,可开关显示)
- 常见问题(8 条 FAQ,可开关显示)
- 预约表单(标题、简介、按钮文字)
- 联系方式与社交链接(收件邮箱、WhatsApp、门店地址、电话、营业时间、地图嵌入、社交媒体链接)
> 注:首页仅使用 5 个板块。其余板块(产品能力、定制选项、品质管控等)保留为 Customizer 配置源,同时 `service` CPT 激活时从这些配置迁移数据。
## 前端技术栈
- **Bootstrap 5.3**CDN):响应式栅格、offcanvas 移动导航、手风琴、表单控件
- **Colorbox**:图片灯箱(jQuery 依赖)
- **Google Fonts**`fonts.loli.net` 镜像):Josefin Sans + Jost + Noto Sans SC(思源黑体)
- **jQuery**:由 WordPress 提供,主题不另行打包
- CSS/JS 使用 `filemtime()` 版本号防缓存
- **CDN SRI**Bootstrap CSS/JS 加载时携带 `integrity` 完整性哈希和 `crossorigin` 属性,防止 CDN 劫持
## 安全措施
- 所有 PHP 文件以 `ABSPATH` 守卫开头
- 所有输出经 `esc_html()` / `esc_url()` / `esc_attr()` 转义
- Customizer 字段全部配置 `sanitize_callback`
- RFQ 表单处理器含完整安全链:nonce 验证 + 蜜罐 + 速率限制 + 邮件头注入防护
- 邮箱地址用 `antispambot()` 混淆
- CDN 资源携带 SRI 完整性校验
## 文件结构
```
fragrance-trade/
├── functions.php # 加载 6 个 inc/ 模块
├── front-page.php # 首页(5 个模板片段)
├── header.php # 导航栏 + offcanvas 移动导航
├── footer.php # 页脚 + 联系/社交链接
├── style.css # 主题信息头 + 基础样式
├── archive-service.php # 服务项目列表
├── single-service.php # 服务项目详情
├── archive-case.php # 案例列表(支持分类筛选)
├── single-case.php # 案例详情
├── page-about.php # 关于门店
├── page-faq.php # 常见问题
├── page-contact.php # 预约/联系
├── index.php / single.php / page.php / archive.php / 404.php
├── inc/
│ ├── defaults.php # 全中文安全默认值
│ ├── setup.php # 主题初始化、资源加载、SRI 加固
│ ├── helpers.php # 工具函数(菜单回退、WhatsApp/邮件链接、通知)
│ ├── cpt.php # 自定义文章类型注册 + 激活迁移
│ ├── customizer.php # Customizer 面板和字段
│ └── inquiry.php # 预约表单处理器
├── template-parts/
│ ├── home/ # 首页片段(hero/trust/service-teaser/case-teaser/cta + video/factory/documents/faq
│ ├── breadcrumb.php # 可复用面包屑导航组件
│ ├── content.php / content-page.php / content-none.php
├── assets/
│ ├── css/ # normalize.css + vendor.css + theme.css
│ ├── js/ # theme.js + plugins.js
│ └── images/ # SVG 占位图 + 产品/门店图片
├── CODE_CLEANUP_PLAN.md # 代码清理方案(5 阶段)
├── CODE_REVIEW_STANDARD.md # 代码审查标准与流程
└── languages/ # 翻译文件目录
```
## 占位资源
主题附带以下占位资源,上线前请替换为真实素材:
- 7 个产品 SVG 占位图(灰底虚线边框 + 中文标签)
- 7 个产品 webp 图片
- 4 个门店环境 SVG 占位图
- 1 个视频封面 SVG
- 1 个 Logo SVG
> 旧版图片素材(jpg 产品图、Instagram 图、工厂流程图等)已在代码清理中移除。
## 代码质量
### 代码清理
详见 [CODE_CLEANUP_PLAN.md](CODE_CLEANUP_PLAN.md),分 5 个阶段:
| 阶段 | 内容 | 状态 |
|------|------|------|
| 一 | 删除死模板 + 死图片 | ✅ 已完成 |
| 二 | JS 依赖瘦身 | 待执行 |
| 三 | 死表单处理器处理 | 待执行 |
| 四 | CDN SRI 加固 | ✅ 已完成 |
| 五 | Customizer 配置清理 | 待执行 |
### 代码审查
详见 [CODE_REVIEW_STANDARD.md](CODE_REVIEW_STANDARD.md),包含 WordPress 主题专项审查清单(安全/功能/性能/可维护性/前端质量)、优先级体系(🔴阻断 / 🟡建议 / 💭细节)和审查流程。
## 上线检查清单
1. 在 Customizer 中将所有演示文案替换为真实门店信息
2. 替换所有 SVG 占位图为实拍照片
3. 配置认证 SMTP 或事务性邮件插件
4. 测试预约表单提交、无效邮箱、重复提交
5. 检查移动端无水平滚动
6. 验证固定链接路由(`/services/``/cases/``/about/``/faq/``/contact/`
7. 确认导航菜单链接正确
8. 测试键盘焦点、跳转链接、图片替代文本等无障碍项
## Git 仓库
- **远程仓库**http://git.xgouo.cn/zhs123/car-t-t.git
- **分支**main
## 许可证
GNU General Public License v2 or later。打包的第三方前端资源保留其各自许可证。