文章的修订版本(Post Revision)是 WordPress 2.6 之后增加的功能,每次自动保存和修改文章后都会产生一个新的版本.通过这些修订版本,我们可以把文章还原到该版本时的状态.在默认情况下, WordPress 是不会自动删除这些版本的,如果经常修改文章,久而久之,数据库中将会储存大量的修订版本,给数据库造成不必要的增大.除此之外,每个修订版本还都会占用一个文章ID号.

我以前在安装 WordPress 时并不知道这个功能,所以也就一直没有去掉.虽然现在文章不多,所以数据库也还大,但就这几十篇文章,文章ID却已用到了700多了.感觉很不好,所以现在想着把它关闭了.

关于修订版本(Post Revision)

官方介绍

打开 {WordPress 根目录}/wp-config.php 文件, 加入代码:

define('WP_POST_REVISIONS', 参数);

参数可用:false或n
false 或者 0:将不保存任何的修订版本(除了自动保存的版本)。
整数 n(大于 0):保存 n 个最近的修订版本(+1 只保存自动保存版本),旧的将被删除。

例如:

1.去掉修订版本(保留自动保存):

define('WP_POST_REVISIONS', false);

2.保存最近3个修订版本(旧的删除):

define('WP_POST_REVISIONS', 3);

附:

自动保存配置
默认情况下,WordPress是每60秒就会对文章进行保存,如果你觉得这个保存太频繁了,你可以将它修改成:

define('AUTOSAVE_INTERVAL', 120);

删除数据库中已经记录的修订版本:(操作之前,请先备份数据库!)

1.从你网站的控制面板,登陆 phpMyAdmin 。
2.在左侧的导航栏,找到你博客的数据库,进入数据库界面。
3.点击上面的“SQL”,填写一下代码:

DELETE FROM wp_posts WHERE post_type = "revision";

2015年8月7号更新,删除代码为:

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

4.点击右下角的“执行”。 这样你就删除了你数据库中所有的自动保存的修订版本。

另: yinheli 的方法

在主题的 functions.php 文件中加入下面的代码 – 效果和上面的例1一样(去掉修订版本):

1
2
3
4
5
6
global $wp_version;
if(version_compare($wp_version, '2.6','>=')){
	remove_action('pre_post_update','wp_save_post_revision');
	if(!defined('WP_POST_REVISIONS'))
		define('WP_POST_REVISIONS', false);
}

除了上面的方法,还有不少有这个作用的插件…
不过有些插件很老子,大家使用时候特别注意……

确定一下是不保存最近三个