解决WordPress3.0+日志ID不连续

建站一个月以来,一直都是使用文章标题做永久链接,最近需要同步日志到其他博客,使用文章标题的话,需要改永久链接,但是同步插件却已经同步过去了,所以不得不改为日志ID的永久链接。

刚换成日志ID的永久链接,发现我的日志ID并不是连续的,最后一篇日志的ID已经达到三百多,可是我只是写了二十篇不到的日志。为了解决这个日志的问题,我找了许多方法。最后还想自己的博客重新清空启动。

在wordpress的3.0版本以前,有个功能,叫自动保存,这个功能是为了防止日志在没有发布或者更新文章的时候,忘了保存文章而设计的。但是,在编辑的每个步骤,基本都会造成自动保存这个操作,所以不断的是ID增加,这时候解决方法也很简单,下载一个禁用自动保存的插件就可以了,比如:Super Switch,Revision Control,disable autosave等,还可以使用Delete-Revision来删除以前自动保存的版本,减少数据库的冗余。

在wordpress的3.0版本开始,不只有,自动保存,还有一个叫修订版本的功能,当你关闭了自动保存,其修订版本功能还是在工作。修订版本工作在更新日志的时候,当你更新日志时,会添加一个ID,如果一篇文章更新很多,再发布一篇新文章时,会发现日志ID与上一篇文章的ID相差许多。

在看了这篇文章后,我知道如何不使用插件,直接禁用wordpress3.0以后版本的自动保存和修订版本功能。

首先,打开wp-config.php文件,在$table_prefix = ‘wp_’;前面添加代码

define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', false);

然后找到并打开wp-adminpost-new.php(第46行)和wp-adminpost.php(第177行)这两个文件,将其wp_enqueue_script(‘autosave’);注释或删除掉

//wp_enqueue_script('autosave');

最后找到并打开wp-adminincludespost.php文件,找到if ( $create_in_db ),在它的前一行添加$create_in_db = false;

 

$create_in_db = false;
if ( $create_in_db ) {

 

经过上面三步步,就已经彻底解决WordPress3.0下的ID不连续啦。不需要再添加插件去解决自动保存功能。发布日志后会跳转到日志列表。其中第三布为写入数据库步骤,比较重要。

现在看看我的博客,把文章备份之后,重新安装,现在新的日志的ID都是连续的了。

{ 发表评论? }

  1. 代码回音

    呵呵,我也是用这个方法。挺好的,减少垃圾

发表评论

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

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>