去掉 WordPress 文章的修订版本
文章的修订版本(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); } |
除了上面的方法,还有不少有这个作用的插件…
不过有些插件很老子,大家使用时候特别注意……
确定一下是不保存最近三个