SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE meta_key = 'anchor' AND comment_id IN (31,32,33);
编辑在第三段留了三条批注,作者在前面加了一段并调整顺序,批注全部落到文末,位置标记显示的还是 paragraph-3。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:批注锚点记的是段落序号,不是内容标识。段落一增一减,序号整体错位,前端找不到对应节点就统一挂到末尾。
「批注锚点失效」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
处理上按这个顺序:锚点改成段落内容的哈希或稳定 ID,别用序号;段落移动时同步更新 comment_meta 里的锚点值;找不到锚点的批注单独列出来,别默默挂到文末;改完重排一次段落,确认批注跟着走。
确认没问题再收工,调整段序后批注仍停在原来那段旁边,没有集中跑到文末。
