我们在发表和编辑文章的时候,可能都不喜欢WordPress 自动保存(AutoSave)和文章历史修订版本(Revisions)的功能。一方面网速不好的时候,它会影响编辑和发表文章页面的加载速度;另一方面 这些文章的历史修订版本都会写入数据库保存,无形中大大增加了数据库的膨胀速度,冗余数据太多也影响数据库的存取查询效率。wp管理后台并没有提供关闭功 能选项。那么如何禁用WordPress自动保存和文章历史修订版本功能呢?这也是WordPress优化数据库第一步要做的内容。

首先我们可以使用WordPress插件,禁用自动保存和关闭文章修订版本的插件有很多,本文最后列举了几个供参考。如果你不想安装插件,那也可以手动修改代码关闭和禁用WordPress自动保存和文章修订版本功能。

关闭WordPress 自动保存功能(AutoSave)

个人觉得WordPress自动保存功能对于经常写原创文章的wper来说还是比较实用的。有时候花了很长时间写一篇博客文章,若突然碰到停电,电 脑死机之类的突发情况,没有自动保存那将是很郁闷的事情,所以建议最好还是不要禁用WordPress自动保存功能。如果你是用office word文档等其他编辑器,那就完全可以用下面的方法关闭WordPress自动保存功能:

找到wordpress/wp-admin/目录下的post-new.php,post.php,page-new.php,page.php这四个文件。找到代码wp_enqueue_script('autosave'); 直接删除,或者在前面加上”//”将代码注释掉:
// wp_enqueue_script('autosave');

或者打开wp-config.php文件,在require_once(ABSPATH . 'wp-settings.php');前添加这段代码:define('AUTOSAVE_INTERVAL', 3600 ); AUTOSAVE_INTERVAL表示自动保存的时间间隔,3600表示1个小时,时间随意设,1小时差不多也写完了。

禁用WordPress文章历史修订版本(Revisions)

同关闭自动保存功能一样,在wp-config.php中的代码require_once(ABSPATH . 'wp-settings.php');前增加以下代码:define('WP_POST_REVISIONS',false);即可;

清理数据库中以前的文章历史修订版本

另外你也可以通过phpmyadmin定期清理和删除数据库中的冗余文章修订版本,清理以前的文章修订版本也一样。数据库操作前最好先进行备份。在 phpmyadmin 中进行数据库管理,SQL语句命令行中写入以下运行代码执行(若你设置了数据库表名的前缀,需要将数据表名称中wp改成你的前缀):

 delete from wp_posts where post_type='revision';

另外还可以再用SQL语句:

DELETE FROM wp_postmeta WHERE meta_key= '_edit_lock';

DELETE FROM wp_postmeta WHERE meta_key ='_edit_last';

删除数据库中文章特殊数据表wp_postmeta中meta_key字段为_edit_lock(代表上次修改post的修改时间)和_edit_last(指最后一次编辑时间)的数据,然后全选所有表,下拉列表中选择使用phpmyadmin“优化表”功能。

附:禁用自动保存,修订版本插件

关闭WordPress自动保存:disable-autosave:

http://www.akii.org/wp-content/plugins/download-monitor/download.php?id=22

禁用修订版本插件同时自动删除以前的修订版本:
Disable Revisions:  http://wordpress.org/extend/plugins/disable-revisions

清除修订版本插件:http://wordpress.org/extend/plugins/delete-revision


寒林

www.3code.cn 专注WordPress企业主题