用插件复制一篇草稿做改写,新稿正文和标题都在,分类列显示「未分类」,原来的四个标签一个都没带过来。日志里能对上时间点,这种反而好排。
复制逻辑只 clone 了 wp_posts 那一行,分类和标签存在 term_relationships 里,没跟着复制。自定义字段和特色图片也常被漏掉。这一点先确认清楚,后面就不用反复试。
SELECT term_taxonomy_id FROM wp_term_relationships WHERE object_id = 903; wp post term set 918 category 前端 教程 --by=slug
这次卡住的地方就在「复制草稿分类」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
报错里带路径的,先去看那个路径在不在、权限对不对。同一份配置存在多处的,先确认改的是被加载的那一份。
处理上按这个顺序:复制后先核对分类、标签、特色图片三项;用 wp_set_post_terms 按原文章的 term_id 重新绑定;把复制逻辑补上 term_relationships 和 postmeta 两张表;复制完清一次分类计数缓存。
结果对不对很好判断,新草稿的分类列与原稿一致,标签数量和名称都能对上。
