如果我创建了一个带有slug“exams”的页面,然后需要将页面的slug从“exams”更改为“tests”,WordPress中链接到原始永久链接的任何其他页面现在都有断开的链接,因为WordPress在更新页面时不进行任何内部链接检查。
解决这个问题的一种方法是,WordPress使用页面ID的默认格式而不是slug插入内部链接,例如:。/?p=123
, 因为这永远不会改变。此外,当您导航到ID时,中的永久链接设置。应用htaccess并自动将其更改为slug。
我看到了一个非常巧妙的解决方案this post 在使用可视化编辑器时就是这样,但我不确定这种方法是否有任何缺陷。
有没有一种更全面的方法不依赖可视化编辑器来处理这个问题?由于上面的解决方案不能处理粘贴链接或在文本编辑器中工作等场景,因此我认为,连接到创建/更新操作并搜索数据库以捕获所有链接的解决方案可能更全面,但我不知道从何开始。
虽然更改永久链接并不经常发生,但令人恼火的是,当它更改永久链接时,任何指向原始链接的内部页面现在都已死亡。