📖 本文共 685 字,阅读需要 3 分钟
写回ID vs 不写回ID 的优缺点分析
写回ID(当前方案)
优点:
- 避免重复创建 – 下次运行脚本时会通过ID查找,直接更新而非创建新文章
- 支持手动修改 – 在WordPress后台编辑后,仍能通过ID准确定位更新
- slug可变更 – 即使改了slug,ID不变,仍能正确更新同一篇文章
- 调试友好 – front matter中可见ID,便于排查问题
缺点:
- 污染源文件 – 改变了markdown文件内容(虽然只加一行)
- Git冲突风险 – 多人协作时可能产生冲突
- 迁移麻烦 – 换WordPress站点后,旧ID失效但还留在文件中
- 手动编辑干扰 – 直接编辑front matter时可能误改ID
不写回ID(仅用slug查找)
优点:
- 源文件纯净 – markdown内容完全由作者控制
- Git友好 – 不会自动修改文件,无意外提交
- 跨站迁移简单 – 无残留ID,直接在新站点发布
- 逻辑简单 – 始终通过slug查找,行为可预测
缺点:
- slug冲突风险 – 改slug后会创建新文章(旧文章成孤儿)
- 必须保证slug唯一 – 同一slug多篇文章时可能更新错
- 无法追踪已删除文章 – 不知道哪篇文章曾在WordPress存在过
关键场景对比
| 场景 | 写回ID | 不写回ID |
|---|---|---|
| 修改slug后再次发布 | ✅ 通过ID找到,正确更新 | ❌ 创建新文章,旧文章成草稿/孤儿 |
| 删除WordPress文章后重新发布 | ✅ 通过ID会404,自动创建新文章 | ⚠️ 同样会创建新文章(无区别) |
| 手动在WP后台修改slug | ✅ 下次更新仍能通过ID找到 | ❌ 通过旧slug找不到,创建新文章 |
| 同slug有2篇文章(历史遗留) | ✅ ID精确匹配 | ❌ 可能更新到错误的一篇 |
| 换WordPress站点 | ⚠️ ID失效,需手动清除front matter | ✅ 无影响 |
本文章永久链接: 自动写回ID的优缺点
