解决WordPress文章ID凌乱不连续方法

在比较新的WordPress版本中有个烦人的问题,就是文章使用固定链接ID会出现凌乱不连续的现象。比如首篇日志ID是1.html,第二篇日志的ID可能很可能是5.html、9.html、11.html…总之是不连续。就像本站,初建10篇文章不到却排到100.html。虽然并不影响阅读,但博主看着总觉得别扭。

网上查到的方法不少,但总的来说无非两种:手动修改代码和利用插件。手动修改源代码有个缺点就是以后WordPress版本升级后又要重新修改,而插件太多则影响博客速度。并且,通过博主一下午的实践发现,网上所述并不能很好的兼顾解决Auto Save与Post Revisions引起的日志ID不连续与数据库大量的垃圾信息问题。现将博主解决WordPress文章ID凌乱不连续方法分享如下:

1、修改根目录下wp-config.php文件,在适当位置增加如下语句(博主偏爱直接增加在底部):

/** 禁用文章修订版/版本控制及自动保存功能。 */
define(‘WP_POST_REVISIONS’, false);
define(‘AUTOSAVE_INTERVAL’, false);

2、在WordPress管理后台搜索安装插件Disable AutosaveDisable Revisions

3、登录Cpanel后台数据库,打开phpMYadmin,选择相应数据库名,运行SQL脚本如下:

delete from wp_posts where post_type = ‘revision’;

此操作目的是为了删除数据库中Post Revisions产生的垃圾信息;

4、如需要重新修改日志ID,则运行SQL脚本如下:

update wp_posts set id = B where id = A;
update wp_term_relationships set object_id = B where object_id = A;
update wp_postmeta set post_id = B where post_id = A;
update wp_comments set comment_post_ID = B where comment_post_ID = A;

以上脚本是将A日志的ID修改为B。此法会导致已收录网页出现404错误,请慎重操作!

5、日志ID修改完全后,需重设新建日志的起始ID。进入操作面板,将AUTO INCREMENT值设定为改前最后日志ID+1。如本站改前最后一篇日志ID为18,则新建文章从19开始;

6、即便如此,新建日志后仍会在数据库看到“自动草稿”的僵尸记录(无端占据一个ID)导致日志ID不连续。当然您可以每次发表日志后进入数据库手动删除,但比较麻烦。我的做法是每次写完日志后先存为草稿,然后再编辑发布。这样,问题就迎刃而解了。至于原因,博主愚钝,截止到发稿止还不明白。明白的童鞋还望告知;

7、因为WordPress默认上传图片、音乐等媒体文件也要占用ID,因此,编辑文章时不要用后台的上传或插入功能,所需图片直接FTP工具上传,然后通过HTML代码直接编辑;

8、通过以上方法,WordPress发表日志ID就可以连续了。具体可参看本站日志。

2012-01-01:

博主实在忍受不了wordpress每次更新都要重新修改代码,因此决定还是使用插件Super Switch。虽然可能会稍微影响一下博客打开速度,但对这个流量一般的技术博客影响微乎其微,还能一劳永逸。使用一个星期来感觉比修改代码更为方便!

分享到:

2条评论

  1. 于申说道:

    确实是这样,但是个人感觉影响不大。

发表评论

电子邮件地址不会被公开。 必填项已用*标注