将文章保存为WordPress草稿后,下一步是设置分类、标签与特色图片。在管理界面只需点击几次,但使用WP-CLI时,若不明确指定「哪篇文章」以及「保留还是取代现有设置」,就可能变更其他文章,或移除必要分类。
本文以已建立的1篇草稿为对象,先确认既有分类与标签,再设置经人核准的分类与图片,最后重新读取结果。指令示例使用虚构环境。
先了解各项功能
分类
以大主题区分文章,方便读者在网站内浏览。分类可以有层级,例如将「AI网站管理」放在「给旅宿主人」之下。
与其替单篇文章加上许多分类,应先决定读者会从哪个入口寻找这篇文章。请优先遵循各网站的运营规则。
标签
用来辅助汇总跨分类的主题。大量建立写法相似的标签,会增加只有单篇文章、内容薄弱的列表页。应避免「WordPress」「ワードプレス」「WP」这类重复,基本上从既有标签选择。
特色图片
用作文章列表、社交分享与相关文章等处的代表图片,与在正文插入图片不同。只将图片保存到媒体库,也不会自动成为文章的特色图片。
替代文字
向无法观看图片的用户传达内容的文字。应简洁说明图片目的,不要不自然地堆砌文章标题或搜索关键词。纯装饰图片的处理方式不同;若特色图片用来说明文章内容,就应描述画面中呈现的事物。
这项工作会变更哪些内容
- 目标文章与分类、标签的关联
- 媒体库中的附件
- 图片替代文字等元数据
- 目标文章的特色图片ID
- 视主题而定,文章列表或预览的显示
即使仍是草稿,数据库与媒体存储空间也会变更。若导入错误图片,即使从文章移除,图片仍会留在媒体库。执行前应固定目标ID、图片文件与既有设置。
整体流程
确认目标草稿ID
↓
读取目前分类、标签与特色图片
↓
由人从既有分类候选中选择
↓
确认图片权利、内容、尺寸与alt
↓
只设置目标1篇文章
↓
重新读取分类、附件ID、特色图片ID与alt
↓
在管理界面预览后停止
1. 以ID确认目标文章
使用前一篇文章所返回的文章ID。不要只靠标题搜索来决定变更对象。
wp post get 123 \
--fields=ID,post_title,post_name,post_status,post_type \
--format=json
若以下项目不一致,就停止。
- 文章ID符合预定值
post_type是postpost_status是draft- 标题与slug符合目标稿件
若文章已发布,本文步骤不会变更它。变更已发布文章的分类,也会影响列表与搜索引擎的导览路径,因此需要另行核准。
2. 读取目前分类与特色图片
记录变更前的状态。
wp post term list 123 category \
--fields=term_id,name,slug,parent \
--format=json
wp post term list 123 post_tag \
--fields=term_id,name,slug \
--format=json
wp post meta get 123 _thumbnail_id
若尚未设置特色图片,取得_thumbnail_id时可能没有值或出现错误。包装程序应将「未设置」视为正常确认结果,避免因此错误地中断整个流程。
将输出保存在执行记录中。若之后发现意外替换,就能确认原本的分类、标签与图片ID。
3. 寻找既有分类与标签
先列出网站上已存在的候选项目,限制数量与输出字段。
wp term list category \
--fields=term_id,name,slug,parent,count \
--number=20 \
--orderby=name \
--order=asc \
--format=table
wp term list post_tag \
--fields=term_id,name,slug,count \
--number=20 \
--orderby=name \
--order=asc \
--format=table
此例将分类与标签各自限定为最多20条。省略--number时,只有--fields或--format=table不会限制数量。不要只因这20条中找不到,就判定「没有既有分类」;应通过管理者允许的分页,或依名称、slug筛选,继续确认候选项目。确认完成前,不建立新分类。
不要让AI只凭名称选择,应由人确认文章计划与既有分类结构。不同父分类之下可能有同名子分类,因此也要确认parent与term_id。
此步骤不自动建立新分类
没有候选项目时,若AI自动建立相似标签或分类,分类就会持续增加。若要新增,应另行考虑以下事项。
- 是否已有相同意义的分类
- 往后是否会用于多篇文章
- slug与显示名称如何设置
- 父分类设在哪里
- 分类列表是否纳入搜索对象
本文只使用已核准的既有分类。
4. set会取代既有分类
WP-CLI官方的wp post term set会取代目标文章在该分类法下已设置的值,并非「新增一个」。
例如,若未确认目前分类就执行以下指令,原本附加的分类可能被移除。
wp post term set 123 category ai-site-management --by=slug
若网站也会明确替文章附加父分类,应一次指定所有已核准的分类。
wp post term set 123 category 40 41 --by=id
此处40与41是虚构的term ID。应事先确认实际ID,连同顺序与数量一起核准。层级分类中,为避免同名混淆,使用ID较容易判断。
标签使用set时,也会取代既有标签。
wp post term set 123 post_tag wp-cli wordpress-operation --by=slug
若需要「保留既有标签,只新增一个」,另有wp post term add操作。不过,AI用包装程序不宜增加过多行为;统一采取「先确认变更前列表,再取代为已核准的最终状态」,较容易验证。
5. 将图片送至服务器前先确认
图片文件应由人确认以下事项。
- 自己拍摄、制作,或符合使用条件的图片
- 未拍到住宿旅客的脸、车牌与预约信息等
- 没有会让人误解猫咪或设施的合成、安排
- 能代表文章内容
- 文件格式与容量符合网站运营规则
- 文件名能描述内容,且不含秘密信息或个人姓名
- 替代文字说明图片内容与目的
使用图片生成AI时,也应避免被误认为真实设施的照片。若是设施介绍文章,也需要考虑优先使用已获许可的实际照片。
6. 只导入1张特色图片
WP-CLI的wp media import能将图片导入媒体库,并通过--post_id与文章建立关联。指定--featured_image时,也会设置为该文章的特色图片。
wp media import approved-featured-image.webp \
--post_id=123 \
--title="说明文章内容的图片标题" \
--alt="旅宿主人确认文章分类与图片的插画" \
--featured_image \
--porcelain
记录--porcelain返回的附件ID。
不要让AI任意指定本地文件或URL。专用包装程序应采取以下限制。
- 只允许指定图片文件夹内的1个文件
- 限制允许的扩展名与最大容量
- 拒绝包含
..的路径与外部URL - 目标仅限已核准的草稿ID
- 由处理端固定
--post_id、--featured_image与--porcelain - alt为空时不执行
- 不接受一次提交多个文件
直接从外部URL导入,来源或内容之后可能变更。应先放到本地的获准文件夹,确认内容与权利后再使用。
7. 重新读取设置结果
不要只根据指令退出码判定成功,应从目标文章确认。
wp post term list 123 category \
--fields=term_id,name,slug,parent \
--format=json
wp post term list 123 post_tag \
--fields=term_id,name,slug \
--format=json
wp post meta get 123 _thumbnail_id
确认返回的特色图片ID是否与导入时记录的附件ID一致。接着,也要读取附件本身。
wp post get 456 \
--fields=ID,post_title,post_mime_type,post_parent,guid \
--format=json
wp post meta get 456 _wp_attachment_image_alt
此处456是虚构附件ID。确认项目如下。
- 目标文章ID未变更
- 分类符合已核准的最终列表
- 标签符合已核准的最终列表
- 先前必要的分类未被意外移除
- 特色图片ID与附件ID一致
- MIME类型符合预定图片格式
- 替代文字不为空,且符合内容
- 仍维持草稿状态
8. 在管理界面预览
最后由人在管理界面开启草稿。
- 列表与文章上方的特色图片裁剪符合预期
- 手机上的图片不会过大或模糊
- 图片中的文字不会难以阅读
- 分类与标签的显示位置、链接目标正确
- 如预期出现在既有分类列表中
- 作者与description未变更
- 文章尚未发布
部分主题也会自动在正文上方显示特色图片。若正文放入同一图片,可能重复显示,请确认。
失败时不要连续操作
即使图片导入超时,实际上也可能已保存到媒体库。立刻重新执行相同指令,可能产生多张相同图片。
失败时依以下顺序调查。
- 确认目标文章的
_thumbnail_id - 确认刚才返回的附件ID
- 在媒体列表确认文件名与导入时间
- 重新读取分类的目前值
- 向人报告现况后停止
删除重复媒体不包含在此步骤中。应另行确认删除对象与使用位置,再作为另一项工作处理。
给AI的委托文字
请替草稿文章ID 123设置分类、标签与特色图片。
执行前:
- 确认文章ID、标题、slug、post_type与post_status
- 记录目前分类、标签与_thumbnail_id
- 从既有分类与标签提出候选
- 不建立新分类或标签
- 确认图片文件名、格式、容量、alt与使用条件
- 列出变更前状态与预定变更,等待人核准前停止
执行时:
- 只以已核准的1篇草稿为对象
- 将分类与标签设置为已核准的最终列表
- 只导入获准文件夹内的1张图片
- 使用--featured_image并记录附件ID
- 不发布。不变更或删除其他文章与既有媒体
执行后:
- 重新读取分类、标签、_thumbnail_id、附件与alt
- 确认post_status仍为draft
- 报告需要人在预览中确认的项目后停止
完成报告示例
草稿设置结果
- 目标:文章ID 123、example-article
- 状态:维持draft
- 分类:已确认变更前后
- 标签:已确认变更前后
- 特色图片:附件ID 456
- alt:已设置并重新读取
- 新分类:未建立
- 未变更的项目:其他文章、既有媒体、发布状态
- 下一项操作:由人在管理界面预览
总结
设置分类、标签与特色图片时,应先确认目标草稿ID与变更前状态。wp post term set会取代既有分类,因此应传入已核准的最终列表,并在设置后重新读取。
图片应先确认权利、个人信息、内容、容量与替代文字,再只导入1张,并核对附件ID与_thumbnail_id一致。草稿建立方式请参阅只创建1篇文章草稿的方法,限制方式请参阅WP-CLI受限制的包装程序,经人核准后的步骤请参阅文章发布与显示确认。
参考资料
- WordPress Developer Resources:wp post term list
- WordPress Developer Resources:wp post term set
- WordPress Developer Resources:wp term list
- WordPress Developer Resources:WP_Term_Query的数量指定
- WordPress Developer Resources:wp media import
- WordPress Developer Resources:wp post meta
※视主题与插件而定,存储分类或图片时可能执行额外处理。请从测试环境与单篇草稿开始。
※2026年10月9日补充:分类候选列表已明确加入数量上限,并补充无法仅依有限列表判定候选不存在。文章整体的信息确认日仍为2026年8月16日。

