秋刀鱼设计

团队专业网站建设、品牌产品推广服务

@helosh12年前

2010/06/28
13:30 星期一
技术宅

删除、取消WordPress的自动保存的草稿

每次在发表文章的时候,如果写文章的时间长了些,WP就会自动保存草稿,其实这个功能不错,但是当发表或编辑一篇文章,保存有十几个草稿版本的时候,会增加很多垃圾数据,增大数据库压力等缺点。目前我暂未找到一个好的方法(好的方法意思是不用修改到wp核心代码)关闭这个功能,所以给大家两个方法用来删除已保存的草稿。

方法一:
首先修改 wp-admin 下的 post-new.php 文件,找到:

1
wp_enqueue_script(‘autosave’);

删除或者在前面加上“//”注释掉。
再找到 post.php | page.php | page-new.php文件,同样的语句,同样删除或者注释掉。
最后打开,根目录下的 wp-config.php 文件,在里面添加:

1
define(‘WP_POST_REVISIONS’, false);

这样可以屏蔽掉日志的修订功能。
如果,你之前没有关闭,已经生成了很多修订版本(Revision)想要删除,有两种方法。

(1)你熟悉phpMyAdmin操作可以执行下面的SQL语句(无需插件)

1
delete from wp_posts where post_type = ‘revision’;

(2)如果你不熟悉,那就只有安装插件来解决。安装 Delete-Revision 插件,安装并且启用后,只需要在设置里找到它,并且检查删除就行了。

方法二:

点击下载:禁用WordPress自动保存的插件件disable-autosave.php
安装的方法很简单,解压文件后将disable-autosave.php放到plugins目录下,然后再后台启用即可,不需要做什么设置。

另外:还有一项莫名其妙的新功能Post Revisions,对于个人博客实现类似Wiki那种文章历史版本控制,禁用Post Revisions的方法是,在wp-config.php文件中增加一行

1
define(‘WP_POST_REVISIONS’, false);

(建议添加在

1
define (’WPLANG’,’zh_CN’);

下面)

方法三:
如果你不想使用插件,这个方法可以方便的批量删除:
运行你数据库上的phpMyAdmin,进入你的数据库(如果你不是使用phpMyAdmin也没关系,反正重点在于后面的SQL删除语句),点右边选项卡的“SQL”,运行这个SQL语句:

1
2
3
4
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'

方法四:
可以使用插件WP-Cleaner帮你快速删除掉自动保存的草稿。

删除、取消WordPress的自动保存的草稿