一篇 2016 年的文章点「转换为区块」,正文没有拆成段落,而是整篇变成一个经典区块,编辑器里还是旧工具栏。乍看像缓存或者权限的锅,追下去往往不是。
grep -o "\[[a-z_]*" content.html | sort -u # 出现 wp:classic 说明已经退回经典区块
追下去是这么回事:正文里有短代码、表格或未闭合标签时,转换器无法安全拆分,会退回保留原始 HTML 的经典区块。主题注册的短代码越多,退回的概率越高。
「转换为区块失败」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
具体做法是,转换前把短代码渲染成普通 HTML 或临时停用;分段转换 一次只选两三段 确认拆开再继续;转换完看列表视图 有经典区块就手动拆。
验收就看一点,正文在列表视图里显示为多个段落区块,没有经典区块。
