在使用WordPress撰写博文时,每隔一段时间,WordPress都会将用户所添加的内容进行保存。

个人觉得这个功能特别鸡肋,一旦WordPress保存一次,WordPress的MySQL数据库中的wp_posts表里就会增加一行无用数据。一段时间后,数据库里就会含有大量的垃圾内容,使得数据库不停的增大,最后性能也会下降。

现在开始看看如何关闭wordpress的自动保存功能,具体步骤如下:

1.修改wp-config.php文件

打开WordPress程序主目录下的wp-config.php文件,在其中<?php和?>之间(比如第68行)添加如下内容:

/* 限制revision数量为6 */
define('WP_POST_REVISIONS', 6 );
/* 设置文章自动保存时间间隔,秒 */
define('AUTOSAVE_INTERVAL', false );

但是版本修订历史最好不要禁用而设置成10小时自动保存一次,即define('AUTOSAVE_INTERVAL', 36000 );,因为修改成false以后造成WordPress报错的一个bug,开启debug可以在编辑文章时看到提醒,编辑一篇文章可不会超过10小时,所以效果是一样的。
其中post.php还要把前面一行的if语句注释掉,这个是新版本WordPress要注意的,老版本就网上就没说注释掉前面的if,如果不注释掉发布新文章的时候会出错,这一点也是在很多文章中没有提到的。

2.修改post-new.php文件

打开WordPress程序主目录下wp-admin目录下的post-new.php文件,在其中找到这行:

wp_enqueue_script(‘autosave’);

将其注释掉即可。PHP的注释可以使用两个斜杠(//),所以在上面那行代码的最前面输入两个斜杠,然后保存即可。

3.删除WordPress数据库中残留的垃圾

关闭掉WordPress的自动保存功能之后,虽然以后不会再往WordPress的数据库中添加垃圾内容,数据库中原本存在的垃圾内容依然存在,如何删除呢?其实操作十分简单,登入phpMyAdmin数据库管理界面,执行如下SQL语句:

DELETE FROM `wp_posts` WHERE `wp_posts`.`post_status` = ‘inherit’
DELETE FROM `wp_posts` WHERE `wp_posts`.`post_status` = ‘auto-draft’

执行完毕,即能清理掉WordPress数据库中因为自动保存功能所产生的垃圾数据了。