备份恢复之后所有文章的发布时间都变成恢复当天 时间线归档全挤在同一个月 定时队列也一次性全推了出去。乍看像缓存或者权限的锅,追下去往往不是。
wp post list --post_type=post --fields=ID,post_date > d.csv wp post update 123 --post_date='2023-05-01 10:00:00' wp post list --post_status=future --format=count
追下去是这么回事:导入时用了不带字段名的 INSERT post_date 和 post_modified 两列顺序对不上 日期被写成了当前时间 草稿也跟着被当成到期发布 时间线整个乱掉 归档也没法看。
「发布时间被重置」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
具体做法是,先从旧库单独导出 ID 和 post_date 两列 做成一份完整的对照表;按 ID 逐条 UPDATE 改回原来的发布时间 别整表重新导一遍;改完再检查 post_status 状态 把被误发的文章逐篇改回 draft 一遍。
验收就看一点,归档页按月分布恢复原样 定时队列里没有突然多出的待发文章。
