139 lines
4.3 KiB
Markdown
139 lines
4.3 KiB
Markdown
# B2B Trade 发布审查标准
|
||
|
||
适用范围:B2B Trade 2.1.x,WordPress 6.8+,PHP 8.1+。
|
||
|
||
## 1. 自动检查
|
||
|
||
每次发布必须满足:
|
||
|
||
- `git diff --check` 无输出;
|
||
- 所有 PHP 文件在 PHP 8.1 CLI 下通过 `php -l`;
|
||
- PHPCS 通过 WordPress Coding Standards 与 PHPCompatibilityWP;
|
||
- `node --check assets/js/theme.js` 通过;
|
||
- CSS 花括号配对,所有 `url(...)` 本地资源存在;
|
||
- PHP、CSS 和 JS 不包含脚本、样式或字体 CDN 请求;
|
||
- 主题引用的本地静态资源全部存在;
|
||
- 仓库不包含已清退的旧业务词、旧视频弹窗库或旧产品位图。
|
||
|
||
## 2. 初始化与数据安全
|
||
|
||
在空数据库中:
|
||
|
||
1. 安装 WordPress 并激活主题;
|
||
2. 确认创建 7 个带种子标识的服务;
|
||
3. 确认创建 `home`、`about`、`faq`、`contact`;
|
||
4. 再运行两次初始化;
|
||
5. 确认服务数和页面数不增加;
|
||
6. 确认 `fragrance_trade_schema_version` 仅在无错误时推进。
|
||
|
||
在已有数据库中:
|
||
|
||
- 已有页面正文、标题和状态不被覆盖;
|
||
- 草稿、私密或回收站页面不被自动发布;
|
||
- 对应页面模板被补齐;
|
||
- 后台显示非发布状态提醒;
|
||
- 已有 `_service_image` 和 `store_map_url` 保持有效。
|
||
|
||
需要注入一次 `wp_insert_post()` 错误,确认错误被记录、管理员可见且迁移版本不推进。
|
||
|
||
## 3. 页面冒烟
|
||
|
||
以下页面必须返回预期状态,并且 PHP 日志无 Warning、Deprecated、Parse 或 Fatal:
|
||
|
||
| 页面 | 预期 |
|
||
| --- | --- |
|
||
| 首页 | 200 |
|
||
| 服务列表 | 200 |
|
||
| 服务详情 | 200 |
|
||
| 案例列表 | 200 |
|
||
| 案例详情 | 200 |
|
||
| 关于门店 | 200 |
|
||
| 常见问题 | 200 |
|
||
| 联系我们 | 200 |
|
||
| 普通文章 | 200 |
|
||
| 搜索结果 | 200 |
|
||
| 不存在路径 | 404 |
|
||
|
||
浏览器控制台不得出现 JavaScript 错误,Network 面板不得出现主题资源 404。
|
||
|
||
## 4. 业务分支
|
||
|
||
### 服务图片
|
||
|
||
分别构造并确认:
|
||
|
||
1. 有特色图片时优先显示特色图片;
|
||
2. 无特色图片、有 `_service_image` 时显示旧 URL;
|
||
3. 两者都没有时显示对应 SVG 占位图;
|
||
4. 首页和列表输出 `fragrance-capability`;
|
||
5. 详情输出 `large`。
|
||
|
||
### 地图
|
||
|
||
分别确认:
|
||
|
||
1. 显式地图 URL 优先于地址;
|
||
2. 只有地址时生成百度地图导航;
|
||
3. 地址和 URL 都为空时不渲染地图卡片;
|
||
4. 页面不出现任何硬编码门店地址。
|
||
|
||
### 导航
|
||
|
||
- 未分配菜单时输出 6 项默认导航;
|
||
- 少于两个菜单项时后台显示提醒;
|
||
- 桌面导航与移动 Offcanvas 均可键盘操作;
|
||
- 当前菜单不会造成横向滚动。
|
||
|
||
### 视频与 FAQ
|
||
|
||
- 有视频 URL 时只产生普通新窗口链接;
|
||
- 链接包含 `target="_blank"` 与 `rel="noopener noreferrer"`;
|
||
- 无视频 URL 时显示联系门店入口;
|
||
- FAQ 手风琴可点击和键盘操作,ARIA 状态随展开更新。
|
||
|
||
### 联系
|
||
|
||
- 联系页不存在提交表单;
|
||
- 服务入口不生成服务查询参数;
|
||
- 电话、邮箱与 WhatsApp 链接按配置显示;
|
||
- 主题不注册前端提交或邮件发送 Hook。
|
||
|
||
## 5. 兼容矩阵
|
||
|
||
至少完成:
|
||
|
||
| 环境 | 用途 |
|
||
| --- | --- |
|
||
| WordPress 7.0 系列 + PHP 8.3 | 当前版本主回归 |
|
||
| WordPress 6.8 系列 + PHP 8.2 | 最低 WordPress 分支 |
|
||
| PHP 8.1 CLI | 最低 PHP 语法检查 |
|
||
|
||
兼容环境可由维护者现有的 WordPress 测试站点提供,不要求主题仓库附带容器配置。
|
||
|
||
## 6. 视觉与无障碍
|
||
|
||
桌面至少检查 1440 × 1000,移动至少检查 390 × 844:
|
||
|
||
- 首页、服务列表、服务详情、案例列表、关于、FAQ、联系;
|
||
- 无水平滚动、布局跳动、遮挡或断裂;
|
||
- 图片具有明确尺寸与替代文本;
|
||
- 可交互元素有可见焦点;
|
||
- 文本与背景保持可读对比度;
|
||
- Offcanvas 打开后焦点可进入,关闭后可返回触发按钮;
|
||
- 新窗口链接的可访问名称能表达用途。
|
||
|
||
主题预览图必须来自通过桌面验收的中性演示首页,不得包含过时业务内容、品牌承诺或虚构真实门店照片。
|
||
|
||
## 7. 发布元数据
|
||
|
||
发布前确认 `style.css`:
|
||
|
||
- `Version: 2.1.0`
|
||
- `Requires at least: 6.8`
|
||
- `Tested up to: 7.0`
|
||
- `Requires PHP: 8.1`
|
||
- Theme URI 指向实际仓库
|
||
- 文本域为 `fragrance-trade`
|
||
|
||
同时确认 `languages/fragrance-trade.pot` 已按当前源码重新生成,本地 Bootstrap 许可证随主题包发布。
|