当前位置:园子博客 » Wordpress » 禁用 WordPress 文章修订功能

禁用 WordPress 文章修订功能

8月 1st, 2009 | Filed under Wordpress | 共有6,819次浏览

使用 wordpress 的朋友对文章修订功能都不陌生,文章修订可以自动保存正在编辑中的文章,随着编辑次数的增多会自动创建N个版本。个人感觉这种功能对于单一作者的网站基本没有什么作用,如果你的网站是多人协作发布文章的,倒是可以利用文章修订功能对比不同作者的修改版本。随着发布文章的增多,这些自动保存的文章会占用不小的数据空间,本文说下如何禁用 WordPress 文章修订功能

我的思路是这样的,考虑到写文章时可能会遇到掉线或者发错等事件,保留 WordPress 的自动保存功能,然后把文章修订这个功能禁止了。方法如下:

1.首先打开 wp-includes/default-filters.php 文件,找到如下代码(大约在198行):

add_action( 'pre_post_update', 'wp_save_post_revision' );

其中“wp_save_post_revision ”函数就是用于创建修订版本的,把这一行注释掉以后就不会在编辑文章的时候自动生成修订版本了。

2.还有种情况就是你可能会去编辑以前发布的文章,这样它默认还会自动保存修订版本,禁用它只需要找到 wp-admin/includes/post.php 文件中的(大概在1088行):

return _wp_put_post_revision( $_POST, true );

修改为:

return edit_post();

通过修改这两个文件,我们就可以做到禁用 WordPress 文章修订功能,且保留了自动保存功能。有一点不太方便的就是,在升级你的 WordPress 的时候还需要重新修改一下这两个文件。

最后,说下如何删除 WordPress 已有的文章修订记录,也就是清除以前所保存的所有修订版本。

登陆 phpMyAdmin,选择相应的数据库,执行以下SQL语句即可:

1
2
3
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';
  1. 人才招聘
    3月 21st, 201213:02

    学习了哦

  2. 沉睡海洋
    8月 30th, 201118:21

    你现在还是这个代码在执行么?
    有更新么?

  3. 聪壹艮
    1月 3rd, 201020:23

    这个很受用…. 注释掉是什么意思?

    • 园子
      1月 4th, 201009:09

      @聪壹艮
      注释掉其实就等于删除掉这段代码
      注释的好处在于如果以后你想要恢复的话把注释去掉即可。

  4. 园子
    9月 16th, 200915:01

    @LIVE
    我写的应该算清楚了吧?
    呵呵
    需要注释掉整行:add_action( ‘pre_post_update’, ‘wp_save_post_revision’ );
    另外
    用 return edit_post(); 替换掉原来的 return _wp_put_post_revision( $_POST, true );
    这样修改就OK了~

  5. LIVE
    9月 16th, 200914:09

    return edit_post();是在return _wp_put_post_revision( $_POST, true );的下一行呢?还是替换掉?

  6. LIVE
    9月 16th, 200914:08

    add_action( ‘pre_post_update’, ‘wp_save_post_revision’ );注释掉的意思是不是把这一行全部删了?
    还是只删除“wp_save_post_revision ”这一段???

  7. 蛋王
    8月 3rd, 200923:26

    我那天写着写着挂了,还好有自动保存的修订版本。。。

  8. 各种虾米
    8月 2nd, 200921:24

    呵呵,还好啊。。。。有时候文章还要返工一下

  9. iseeyou
    8月 2nd, 200917:17

    wp-config.php 增加一句 define(‘WP_POST_REVISIONS’, false); 就行

  10. 歪豆
    8月 1st, 200920:16

    如果你回复了我的留言,WP就会发邮件到我的邮箱告诉我你回复了我的留言,请问一下这个插件叫什么名字 🙂 ^^Tanks

    • 园子
      8月 2nd, 200915:43

      @歪豆
      插件是Mail to Commenter
      yo2好像没有提供这个插件~

  11. 歪豆
    8月 1st, 200914:43

    @园子
    呵呵,Yo2服务器在电信,家里没电脑,用手机写的一篇,很多功能不能用,也不太会用,郁闷,从监狱到自由的天空就是这么不习惯
    俺在你博客留的言都成了歪豆的雅虎反链,看来要多抢抢沙发了^^

  12. 歪豆
    8月 1st, 200912:42

    沙发 这个功能对独立博客还是蛮有用的,对于我咧,我的准则是榨干服务商^^

    • 园子
      8月 1st, 200914:09

      @歪豆
      呵呵
      歪豆终于写文章了啊
      我是网通访问确实有些慢~

您必须在 登录 后才能发布评论.