月光博客 » 编程开发 » 解决WordPress 2.6日志ID不连续的方法

解决WordPress 2.6日志ID不连续的方法

  已经发布的WordPress 2.6版有一个很讨厌的功能,就是Post Revisions(文章的版本控制),在默认的情况下,日志的ID将不再连续,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,现在我给一个解决WordPress的ID不连续的方法。

  按照此文的方法,在wp-config.php文件中增加一行define('WP_POST_REVISIONS', false),同时安装“禁用WordPress自动保存的插件”,在WordPress后台启用此插件。

  请注意这两个操作缺一不可,如果不启用“禁用WordPress自动保存的插件”,那么每篇文章都会出现一个自动保存的记录。

  另外,对于数据库有“洁癖”的WordPress用户来说,可能想要删除由于Post Revisions导致的表内的垃圾信息,同时将ID设置为连续,下面是我写的一段SQL脚本,请在phpmyadmin中使用。

  删除是Post Revisions垃圾信息,请执行:

delete from wp_posts where post_type = 'revision';

  将ID重新设置为连续,这个比较麻烦,设置一个ID就要4条SQL语句,我仅仅举一个例子,将ID为59的文章修改为ID为58,需要执行以下语句。

update wp_posts set id = 58 where id = 59;
update wp_term_relationships set object_id = 58 where object_id = 59;
update wp_postmeta set post_id = 58 where post_id = 59;
update wp_comments set comment_post_ID = 58 where comment_post_ID = 59;

  如果用户需要修改的文章较多,需要批量复制、修改和执行上面四行。

解决WordPress 2.6日志ID不连续的方法

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    diytz   说道:
    恩,准备用下WP~~
    支持(7反对(2回复
  1. 2
    Sleven   说道:
    不错,今天才发现数据库里保存了一大堆旧版本的日志。
    支持(7反对(2回复
  1. 3
    Shawn   说道:
    请教您一个问题。我用一个全新的 Wordpress 做了一个测试。倘若将不连贯的ID通过您的方法重新梳理成连续的ID,继续发表新文章的时候,ID还是会从之前不连续的数字之后开始起跳,请问这种问题有办法解决么?
    支持(9反对(5回复
  1. 4
    Shawn   说道:
    不好意思,我自己解决这个问题了,谢谢您公布的方法。
    支持(7反对(3回复
  1. 5
    Heyi   说道:
    错误
    SQL 查询:

    UPDATE wp_posts SET id =190 WHERE id =206;



    MySQL 返回:

    #1062 - Duplicate entry '190' for key 1
    支持(8反对(4回复
  1. 6
    紫雨老师   说道:
    为什么使用raven就会连续,使用Windows Live Writer就不会连续呢?到底是基于什么原因,这个编号会不连续呢?
    支持(7反对(3回复
  1. 7
    Zhilong   说道:
    一直用Zblog
    支持(9反对(6回复
  1. 8
    中秋节   说道:
    暂时还没用wp
    支持(6反对(3回复
  1. 9
    xjb   说道:
    不用id作为Permalink的wordpress不存在这个问题
    支持(6反对(4回复
  1. 10
    流星   说道:
    果然我id是不连续的……但是执行这个命令,估计要跑好几遍……哎,惨
    支持(6反对(4回复

发表留言