每次在发表文章的时候,如果写文章的时间长了些,WP就会自动保存草稿,其实这个功能不错,但是当发表或编辑一篇文章,保存有十几个草稿版本的时候,会增加很多垃圾数据,增大数据库压力等缺点.
所以我们需要删除、取消WordPress的自动保存的草稿,目前我暂未找到一个好的方法(好的方法意思是不用修改到wp核心代码)关闭这个功能,所以给大家两个方法用来删除已保存的草稿.
方法一:首先修改 wp-admin 下的 post-new.php 文件,找到如下代码:
wp_enqueue_script(‘autosave’);
删除或者在前面加上“//”注释掉,再找到 post.php | page.php | page-new.php文件,同样的语句,同样删除或者注释掉,最后打开,根目录下的 wp-config.php 文件,在里面添加如下代码:
define(‘WP_POST_REVISIONS’, false);
这样可以屏蔽掉日志的修订功能,如果,你之前没有关闭,已经生成了很多修订版本(Revision)想要删除,有两种方法。
(1)你熟悉phpMyAdmin操作可以执行下面的SQL语句(无需插件),代码如下:
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文件中增加一行,代码如下:
define(‘WP_POST_REVISIONS’, false);
(建议添加在define (’WPLANG’,’zh_CN’);下面)
方法三:如果你不想使用插件,这个方法可以方便的批量删除,运行你数据库上的phpMyAdmin,进入你的数据库(如果你不是使用phpMyAdmin也没关系,反正重点在于后面的SQL删除语句),点右边选项卡的“SQL”,运行这个SQL语句:
- 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帮你快速删除掉自动保存的草稿
方法五:是直接在数据库中用SQL语句删除
数据库中有很多表,其中“wp_posts”是用于保存你所有的文章相关信息的,非常的重要,一般它存储的数据也是最多的,我们清理自动保存的草稿和修订版也是在这里面清理,命令如下:
- DELETE FROM wp_posts WHERE post_status!=’publish’ OR post_type=’revision’;
其实,wordpress自动存草稿和保留修订版的功能是可以直接禁用掉的,不过听说新版本中的插件已经失效了,剩下的唯一的方法是该代码,操作起来比较麻烦,所以还是隔一段时间清理一次吧.
方法六:在function.php文件里面加入下面的代码:
- function disableAutoSave(){ wp_deregister_script('autosave');}
- add_action( 'wp_print_scripts', 'disableAutoSave' );
保存并上传覆盖,这样WordPress的自动保存草稿功能就木有了.
新闻热点
疑难解答
图片精选