A-A+

删除、取消WordPress的自动保存的草稿的各种方法

2014年03月15日 PHP开源系统 评论 28 条 阅读 478 views 次

每次在发表文章的时候,如果写文章的时间长了些,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帮你快速删除掉自动保存的草稿

标签:

28 条留言  访客:28 条  博主:0 条

  1. 高艺伎

    😛 用Easy WP Cleaner插件好多了!!不用担心垃圾很多,节省了空间!!!

  2. 家佳

    你好,第一次来留言,看了你的这篇文章修改了config 也下载了超级开关插件!可是还是有少量的自动保存草稿,真心不知道怎么回事了!用了wp clearn能看到有草稿生成,求解,谢谢!我的QQ:617901975

    • smiling

      你试着在主题 functions.php 中添加代码,下面我的回复中。。

      /*
      取消自动保存和修订版本 */
      remove_action(‘pre_post_update’,
      ‘wp_save_post_revision’);
      add_action(‘wp_print_scripts’,
      ‘disable_autosave’);
      function
      disable_autosave() {
      wp_dereGISter_script(‘autosave’);
      }

      切记是最顶端,一般都能解决问题。

  3. 顽兔生活网

    disable-autosave对4.0版本有用吗?之前试了超级开关,没用、

    • smiling

      对最新版的 wp 应该已经没用了,你尝试在主题 functions.php 文件加入如下代码:

      /*
      取消自动保存和修订版本 */

      remove_action(‘pre_post_update’,
      ‘wp_save_post_revision’);

      add_action(‘wp_print_scripts’,
      ‘disable_autosave’);

      function
      disable_autosave() {

      wp_dereGISter_script(‘autosave’);

      }

      添加到最顶端试一下。

      • king

        wp3.9中文, 2014主题模板,可以用这段代码吗?
        去除自动草稿用什么代码?
        自动存稿将保存时间改了很长—-这个怎么改?

        • king

          禁用自动草稿功能用什么代码?

          • smiling

            直接用这段代码禁止掉就可以了..如果还不行,,在添加这段代码的前提下,,再按照 http://www.04ie.com/soft/621.html 这篇文章操作一篇,基本上就可以了。。

          • king

            主要是要解决禁用自动草稿功能,占空间啊,post ID连续否没关系的。
            话说复制上面代码,firefox不行, chrome才行

          • smiling

            没明白什么意思,什么是自动保存,自动保存就是在一定时间把没写完的日志保存到数据库中存档,占用的是数据库的ID,也就是占用的数据库的资源,跟占用虚拟主机的空间没有关系。。跟数据库的连续 ID 才有关系,只有取消了连续ID,才是取消了禁用自动草稿的功能。。

          • king

            我一直以为自动草稿保存功能,每个草稿自动保存到数据库,数据库保存在主机中,那不是占用了主机空间吗?

          • smiling

            主机空间通常指的是文件存放的地方,数据库有专门数据库的空间,自动草稿保存占用的ID是占用了数据库的资源,你试一下后来我提供的方法是否可用。

          • king

            试了,可以,谢谢。
            你的说法我还明白。我是这样认为的,主机商分配给我空间,我在这空间建站,网站文件和网站数据库文件都是存储在我主机空间上的,那么wp自动保存草稿每次都有一个草稿文件储存在数据库里,不是占用了我的主机空间吗? 所以我才想要禁用wp自动保存草稿功能

          • smiling

            网站空间和数据库空间是分开的….wp自动保存草稿功能是保存在数据库空间的…

            哈哈,这个讨论就完完了,,总之问题解决了就行。。。欢迎常来。。。

  4. 我对草稿的依赖性比较大,都是在线写的,网络一不好,就惨了。。。

    • smiling

      那样会产生许多无效ID的.

  5. 于尼玛

    下了个插件,懒的折腾了

  6. 美随~Blog

    逛逛博客,交交朋友,

  7. 免费部落

    我一直用第一种方法!

    • smiling

      都一样,最好是修改代码来实现.

  8. 仰茗博客

    我晕,我还真从来没考虑过这个问题。会对网站有什么具体的影响吗

    • smiling

      没什么影响,就是如果有自动保存,会产生很大的ID,你还没发布几篇文章,ID就已经很大了。

  9. 电脑爱好者

    关闭了自动存稿功能后还是会存 不知为啥 还得隔段时间删除一下

    • smiling

      我也遇到这样的问题了,最后索性将保存时间改了很长,就彻底取消了ID自动保存。

  10. 林梓洁博客

    是个不错的功能,博主辛苦了

  11. 玛思阁

    现在用了一个数据库优化工具,一个星期自动清理,这个自动保存的功能暂时先留着好了。

  12. 微历史

    我用db-manager插件,经常优化,不知道会不会清除掉历史版本。这个功能我觉得还是挺好的,至少防止意外

    • smiling

      我都是直接修改代码的,用的插件很少.

给我留言