wordpress 使用数字别名的 “-2” 问题

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:星铃丹
链接:http://yyidea.com/900/
来源:http://yyidea.com/

曾经死犟过,以不使用 wordpress 后台多媒体,关闭自动保存的方式来保证 wordpress 文章的 post 的 id 和顺序性;可这种犟法终究会累,后来就利用起了纯数字的别名,在固定链接里使用文章名 /%postname%/,保证文章链接的简洁和连续性。然而,不记得在哪个版本后,使用纯数字别名,在发布的时候,会在数字后多出一个 “-2”。比如说,这篇文章在发布时候设置的别名是 “894”,其链接地址是应该是 http://yyidea.com/894/,但 wordpress 给生成的是 http://yyidea.com/894-2/。

出现这个问题后,曾在网上翻阅若干而未见有人提及。一个纠结于连续数字的站长不多,二个可能每个人的实现连续方式不同,三个可能在乎的人并不是懂 php 的。

好吧,这两天作为当年折腾帝的我,又面对上这个问题,依然搜索不到答案;也考虑过是不是只有我这个老站才有该问题(其实重装过),但尝试新建 wordpress 测试,“-2” 也还是不依不挠的存在。

最终只能变通一下,把 mysql 的查询脚本,放在了清理插件 WP Clean Up 里——本来想新写一段的,看着又麻烦,就替换了最后关于 feed 的清理代码。于是,每次更新发布完,运行下插件,也算曲线解决方案了。

顺道,记录 mysql 脚本如下:

update wp_posts set post_name = replace(post_name,’-2′,”) where post_type=’post’

本人验证确认:wordpress新版本,对于标题全是数字的文章,如果url是名称,会在名称后面加上-2,来区别数字。实际是在slug中加上了-2。