禁用wordpress自动保存和修订版本的几种方法

    本人接触wordpress较晚,不知何时wordpress有了自动保存和修订版本两个功能。虽说很安全,但是却很容易造成数据库出现大量冗余(如果修订三遍自动保存两遍就会产生五条正文数据,其中只有一条会在前台显示,另四条成为冗余数据白白占用宝贵的数据库空间。长此以往,数据库出现上千条冗余正文数据并不奇怪了)且每篇文章的ID不具备规则性(每新增一个修订版本文章ID后会自动加1),对于部分洁癖者而言确实很不和谐。本人经过几日研究,琢磨出三种方案禁用wordpress自动保存和修订版本的功能,特在此写出供大家参考:

1,插件安装法
    wordpress的开源构架及其提供第三方插件接口使得世界各地的爱好者们都热衷于编写可以完善wordpress各项功能的插件程序。对于不愿意修改程序代码的用户而言,插件安装法无疑是解决此问题的最好解决,本人即在使用该方案。

    分别在http://en.wikipedia.org/wiki/Revision_controlhttp://samm.dreamhosters.com/wordpress/plugins/处下载revision control和disable autosave插件,上传至plugins目录并在后台启用即可,设置很简单,此处不再赘述。

    或者在http://www.jiangmiao.org/blog/138.html下载wp-cleaner插件安装,可以自己手动在后台清理冗余的修订版本,优点是不会发生文章写了一大半应计算机故障没有保存的悲剧,但缺点是生成的文章ID号混乱的问题无法解决。

2,代码修改法
在wp-config.php中增加一行define(‘WP_POST_REVISIONS’, false);即禁用了修订版本功能;

在wp-config.php中,修改为以下设置可以禁用自动保存功能:
define(‘ABSPATH’, dirname(__FILE__).’/');
define(‘AUTOSAVE_INTERVAL’, 86400 ); 86400表示自动保存时间为一天,相信没有哪位朋友会连续写上一天的BLOG,当然你可以修改为自己需要的。
require_once(ABSPATH.’wp-settings.php’);

还有一种方法也可以禁用自动保存功能,但涉及修改的文件比较多:
在wordpress目录/wp-admin/中找到以下四个文件:post-new.php、page-new.php、post.php、page.php
用文本编辑工具打开后在其中搜索“autosave”(不包括引号),都会在相应位置找到这样的一行:
wp_enqueue_script(’autosave’);
通过在该行前加入“//”(不包括引号)来将这一行注释掉,保存。

3,SQL语句清除法
无需安装插件,无需修改代码,只需登陆进phpmyadmin点选SQL选项卡输入如下命令,单击执行即可:
DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);
DELETE FROM wp_posts WHERE post_type=’revision’;
(将wp换为你的数据库名)
这样做的好处是干净方便快捷,也不影响原有程序各项功能(毕竟插件挂多了可能会影响程序运行速度),其它优缺点请参照第一节中wp-cleaner的描述。

    祝大家wordpress使用愉快!

wuhanboy 发表于 2009-4-8 1,384人浏览 | 类别: 电脑数码 | 标签:

3条留言 立即发表评论

  1. #1GUI @ 2009-5-1 10:17 回复

    直接使用离线编辑器发布就不会有自动保存的屁事了,一般真·BLOGER都不会自带的毫无保障的在线编辑器写东西的

    • #2admin @ 2009-5-1 20:10 回复

      哪些离线编辑器可以推荐哈啊~~

  2. #3柚原 @ 2010-3-29 21:24 回复

    自动保存很头疼;学习了,好办法:)

评论

(Ctrl + Enter)