摘要:如果你的wordpress博客使用post ID作为固定链接地址的话,你会发现发表的文章日志ID是不连续的。这是由于wordpress具有自动保存和修订功能引起的。当你在wordpress后台编写日志时,会自动保存草稿并把日志历史修订版本保存到数据库中,每保存一份,日志ID会自动加1,因此,在后台编写日志时间越长,则产生的修订版本越多,ID间隔也越大。此外,当你在后台插入图片时,ID也会自动加1。

velep.com成长之路22—使用Windows Live Writer编写日志一文中介绍了这种情况的弊端,即造成数据库臃肿。有两种方法解决:1. 用Windows Live Writer离线编写文章日志;2. 禁止自动保存和自动修订功能。前一种方法已在成长之路22中介绍了。reille blog实现了这两种方法。

本文介绍第二种方法,同时分享了如何清理数据库中的日志历史修订版本。

1. 延长自动保存时间和取消自动修订功能

WordPress默认是每60秒就会对文章日志进行自动保存,这里采取延长自动保存时间来实现。打开wp-config.php文件,搜索“require_once(ABSPATH . ‘wp-settings.php’);”,在其前面/上面添加如下代码:

/** 自动保存10小时一次. */
define(‘AUTOSAVE_INTERVAL’, 36000);
/** 取消自动修订版. */
define('WP_POST_REVISIONS', false);

可根据需要修改自动保存时间。

注:经过实践,要禁止自动保存,还需要修改以下两个小文件

wp-admin/post-new.php
wp-admin/post.php

注释掉这行:

//wp_enqueue_script(‘autosave’);

2. 清理数据库中文章历史修订版本

如果数据库已经存在了历史修订版本,我们可以把它们清理掉。这里先摘录一下网上的解决方法:

为以防万一,操作数据库之前先进行备份。登录主机phpmyadmin 中进行数据库管理,SQL语句命令行中写入以下运行代码执行(如果更改了数据库表名的前缀,需要将数据表名称中wp改成你的前缀):

delete from wp_posts where post_type='revision';

由于reille在phpmyadmin中找不到SQL语句命令行,所以没采用上述方法操作的。采用的方法如下:

  1. 数据库备份;
  2. 登陆phpmyadmin后台并选择wp_posts数据表,可看到很多发表的日志文章和上传的图片占用的ID;
  3. 在导航栏中,如下图,点击搜索,进入搜索页面:wp_posts_search
  4. 进入搜索页面后,找到post_type一栏,如下图所示:image
  5. 在下拉框中选择“=”,并在输入框输入:revision,最后如下图所示:image
  6. 点击右下角的执行,则会在数据库中搜索出post_type = revision数据项,把这些项选中,执行删除操作。注意,执行删除操作前,最后核对下数据。我们只需要删除post_type = revision的数据项。

后记:在清理日志历史修订版本之前,reille blog的数据库大小截止目前是1.94M,清理之后大小为1.34M,效果还是很明显的。

最后提醒想清理日志历史修订版本的朋友,但凡数据库的操作,操作前务必进行必要的数据库备份,以防万一。

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量