让AI只创建1篇WordPress文章草稿的方法

将Markdown稿件只创建为1篇WordPress草稿,并在由人确认内容的阶段于发布前停止的插画 AI 网站管理

完成WP-CLI的读取确认后,接着尝试将新文章只创建1篇草稿。不要立刻发布,而是先保存为能在管理界面确认内容的草稿,然后停下,不予发布。

本文以Markdown稿件为正本,说明检查重复内容、事先核准待创建文章的属性、以draft建立、记录文章ID,以及创建后重新读取确认的流程。指令示例适用于虚构环境。实际操作时,请使用管理者准备的受限制指令包装器。

创建草稿会改变什么

与只读确认不同,即使是草稿,也会将新文章保存至WordPress数据库。通常不会显示于公开页面,但会有以下影响。

  • 产生文章ID与修订版本
  • 显示于管理界面的草稿列表
  • 插件可能在保存时执行处理
  • 可能设置错误的分类或作者
  • 可能将个人资料或内部信息保存至正文

因此,「没有公开,就可以安全地做任何事」并不成立。应将对象限定为1篇,先确认要保存的文章属性。

整体流程

确认Markdown稿件
  ↓
确认同slug的文章与垃圾桶中的原文章
  ↓
向人提出预定创建的项目
  ↓
只建立1篇草稿
  ↓
重新读取文章ID、状态与slug
  ↓
由人在管理界面确认预览
  ↓
停止,不予发布

1. 以Markdown稿件为正本

若只在WordPress管理界面修改正文,本地稿件与公开内容就会逐渐不一致。请为每篇文章准备Markdown文件,至少管理以下信息。

---
title: "文章标题"
slug: "example-article"
description: "简要说明文章内容的文字。"
status: "draft"
---

这段front matter用于稿件管理。不要直接混入WordPress正文,应分别套用至标题、slug、description与状态等文章属性。

正文不包含未确认的价格或服务、没有实际体验的感想、住客个人资料、连接目标或内部路径。外部信息应在发布前通过官方信息确认。

2. 创建前检查内容

  • 标题与正文内容一致
  • slug基本上使用半角英文字母、数字和连字符
  • description正确概括正文
  • 标题回应同一个搜索意图
  • 内部链接与参考资料的URL正确
  • 没有包含不得公开的信息
  • status为draft
  • 稿件文件位于已核准的位置

若还无法确认分类、标签或特色图片,不要凭推测设置。详情请见如何安全设置分类、标签与特色图片。

3. 确认是否有相同slug

建立新文章前,分别确认已发布、草稿、私密等状态的文章,以及垃圾桶中的原文章。post_status=any不包含垃圾桶、继承状态、自动草稿与排除于搜索的自定义状态,因此下方列举垃圾桶以外的WordPress标准状态。若使用自定义文章状态,请向管理者确认,并将其加入搜索对象。

wp post list \
  --post_type=post \
  --post_status=publish,future,draft,pending,private,auto-draft,inherit \
  --name=example-article \
  --fields=ID,post_title,post_name,post_status \
  --format=table

wp post list \
  --post_type=post \
  --post_status=trash \
  --fields=ID,post_title,post_name,post_status \
  --format=table

垃圾桶应通过指定--post_status=trash的列表另外确认。垃圾桶中的slug可能改为加上__trashed,因此只搜索原slug,可能漏掉原文章。请通过管理界面的垃圾桶、文章标题与内容,以及必要时由管理者确认的_wp_desired_post_slug,核对是否为同一篇原文章。这个阶段不需要还原或删除垃圾桶中的文章。若无法确认原文章,也应停止,不建立新文章。

若找到既有文章,就停止新增。要更新既有文章,还是变更slug,由人判断。如果AI自动在结尾加上数字,再建立另一篇文章,就可能增加重复页面。

4. 向人提出创建计划

执行前,要求回报以下事项。

预定创建内容
- 类型:1篇新文章
- 标题:文章标题
- slug:example-article
- 状态:draft
- description:简要说明文章内容的文字。
- 正文:已确认的Markdown稿件
- 分类、标签与图片:这次不设置
- 执行后:重新读取文章ID与状态,然后停止

在人确认内容之前,不执行创建指令。

5. 建立1篇草稿

WP-CLI官方的wp post create可以从文件读取正文,并指定文章状态与slug。加上--porcelain,便能只取得新文章ID。

wp post create article-body.md \
  --post_type=post \
  --post_status=draft \
  --post_title="文章标题" \
  --post_name="example-article" \
  --post_excerpt="简要说明文章内容的文字。" \
  --porcelain

正文文件不要包含front matter。应建立从管理用稿件安全提取正文的流程。直接把完整正文嵌入指令字符串,容易误处理引号或换行;从已核准文件读取的方式较容易理解。

包装器端固定post_type=post、post_status=draft,每1次只处理1篇,并拒绝自由追加参数。

6. 重新读取已建立文章

使用建立时返回的文章ID。

wp post exists 123

wp post get 123 \
  --fields=ID,post_title,post_name,post_status,post_excerpt \
  --format=json

确认项目如下。

  • 返回的文章ID存在
  • 标题与slug符合计划
  • post_status为draft
  • 作为description使用的摘要正确
  • 只建立了1篇新文章

若状态不同、建立了多篇,或slug不符预期,应停止,不予发布。不要当场叠加其他修正,而应向人回报文章ID与现况。

7. 在管理界面预览

只看WP-CLI输出,无法确认实际画面。请在WordPress管理界面开启目标草稿,确认以下事项。

  • Markdown、标题、列表、代码与表格显示正常
  • 标题与description适当
  • 内部与外部链接指向正确目的地
  • 正文没有显示front matter
  • 作者、分类与标签符合原意
  • 是否需要特色图片与替代文字
  • 在电脑与手机宽度下可阅读
  • 没有应于发布前修正的事实或表达方式

即使已确认预览,本文流程仍不进行发布。发布应视为另一次核准,并明确指定目标文章ID。

防止重复创建的机制

AI途中超时时,看起来可能创建失败,实际上文章却已建立。不要立刻重复执行同一个指令,应以slug确认,也要依前述方式确认垃圾桶中的原文章。

安全的专用处理,依以下顺序进行。

  1. 检查slug格式
  2. 确认同slug的既有文章与垃圾桶中的原文章
  3. 若存在,就不建立任何文章,只回报文章ID
  4. 只有不存在时,才建立1篇草稿
  5. 重新读取新文章ID与状态

重点是设计成即使再次执行相同委托,也不会让草稿不断增加。

给AI的委托文字

请将这份Markdown稿件新增至WordPress。

这次只建立1篇草稿,不要发布。

执行前:
- 列出标题、slug、description、文章类型与状态
- 搜索标准状态与自定义状态的slug,并确认垃圾桶中的原文章
- 若有重复或无法确认原文章,停止,不建立新文章

创建时:
- 将post_type固定为post、post_status固定为draft
- 只使用已核准的正文文件
- 不要推测设置分类、标签或图片
- 不要修改其他文章或设置

创建后:
- 重新读取文章ID、标题、slug、状态与description
- 确认只建立了1篇新文章
- 回报预览方式与尚未设置项目,然后停止

不要在回答中转载秘密信息、内部路径或未公开正文。

完成报告示例

草稿创建结果
- 新文章:1篇
- 文章ID:123
- 状态:draft
- slug:example-article
- 重复确认:创建前后已确认
- 已确认:标题、description与正文
- 未设置:分类、标签与特色图片
- 未执行:发布、更新既有文章或变更其他设置
- 下一步:由人在管理界面确认预览

不要只说「完成」,应分开说明确认了什么,以及没有做什么。

总结

AI首次创建文章时,以Markdown稿件为正本,确认没有相同slug,只建立1篇草稿。用返回的文章ID重新读取状态,并在由人预览的阶段停止。

事前确认请见不做修改的WP-CLI入门,分类与图片设置请见如何设置分类、标签与特色图片,执行限制请见受限制指令包装器。由人核准后的发布流程,请见从备份到HTTP与画面确认。

参考资料

※2026年10月9日补充:依官方规格,补充重复确认时的文章状态,以及垃圾桶中变更slug的处理。本文整体最初的信息确认日期为2026年8月16日。

※保存文章时的处理,依主题或插件而异。请在测试环境确认,正式环境务必从1篇草稿开始。

已复制标题与网址