如何禁用/修改WordPress文章修订版本功能

 2017年07月13日 09:41  1,183  8  打印本文  
达令家

WordPress的文章修订版本,就是编辑或修改文章时自动保存生成一个修订版本,默认是每分钟1次,主要是方便恢复,初衷是好的,不过日积月累,会产生大量的冗余数据,加重服务器负担,拖慢数据加载,如果觉得该功能是个鸡肋,我们可以将下面的代码添加到主题的functions.php中,刷新一下网页,会删除全部文章修订版本。

  1. $wpdb->query( "
  2. DELETE FROM $wpdb->posts
  3. WHERE post_type = 'revision'
  4. " );

如果只是定期删除修订版本,就没必要将此代码留在主题中,可以在准备清理修订版本时再加到主题中。

其它方法

使用WP Clean Up插件批量删除修订版本。下载地址

禁用自动保存

  1. add_action('wp_print_scripts','disable_autosave');
  2. function disable_autosave(){
  3.     wp_deregister_script('autosave');
  4. }

使用方法:将以上代码插入主题根目录下的functions.php文件中。

指定时间间隔

  1. define('AUTOSAVE_INTERVAL', 36000);

代码中36000代表36000秒,即10个小时,默认是60秒。

禁用修订版本

方法一:

  1. //不保存任何版本(除了自动保存的版本)
  2. define('WP_POST_REVISIONS', false);
  3. //保存所有修订版本
  4. define('WP_POST_REVISIONS', true);
  5. //保存N个修订版本
  6. define('WP_POST_REVISIONS', 5);
  7. //代码中5代表最多数量,可自由设置,如设置1就是最多1个修订版本

使用方法:将以上代码(任选其一)插入WordPress根目录下的wp-config.php文件中,记得以 UTF-8 无 BOM 格式编码。

方法二:

1、禁用所有文章类型的修订版本

  1. add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
  2. function specs_wp_revisions_to_keep( $num$post ) {
  3.     return 0;
  4. }

2、只禁用某种文章类型的修订版本

  1. add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
  2. function specs_wp_revisions_to_keep( $num$post ) {
  3.     if ( 'post_type' == $post->post_type ) { //引号中post_type改为你想禁用修订版本的文章类型
  4.         return 0;
  5.     }
  6.     return $num;
  7. }

使用方法:将以上代码(任选其一)插入主题根目录下的functions.php文件中。

对比两个方法

方法一:改的是WordPress的代码,更新后容易导致代码被覆盖掉,需要重新添加。

方法二:放主题根目录下的functions.php文件中,一般主题很少更新的。

在这里推荐使用方法二。


原文:知更鸟+boke112

weinxin
99八十一微信公众号
扫一扫关注99八十一微信公众号,打开微信简简单单即可查看99八十一所有内容,更快捷更方便。
九哥

吐槽一下

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前吐槽:8   其中:访客  4   博主  4

    • avatar 胡俊杰 来自天朝的朋友 搜狗浏览器 Windows 10 浙江省宁波市 联通 【小白】

      哈哈博主博客修改的帅呆呆啊。很简约。很有趣~

      • avatar 雅兮网 来自天朝的朋友 谷歌浏览器 Windows 7 广东省珠海市香洲区 电信 【小白】

        禁用修订版本上,我用的是第二个方法,写入wp-config.php的总是会失效,不知为何

          • avatar 九哥 博主 来自天朝的朋友 QQ浏览器 Windows 7

            @雅兮网 推荐方法二,我自己用插件,用时启动手动删除,用完就关掉,也不麻烦。

          • avatar 宅小猫 来自天朝的朋友 谷歌浏览器 Windows 7 北京市 北京宽带通电信技术有限公司 【小白】

            这是个好东西,多谢分享 :mrgreen:

            • avatar Koolight 来自天朝的朋友 谷歌浏览器 Windows 7 湖南省岳阳市 联通 【进士】

              我把它完全禁用了,一般写文章之前都先用记事本记下来,避免丢失。

                • avatar 九哥 博主 来自天朝的朋友 QQ浏览器 Windows 7

                  @Koolight 我直接插件,用的时候开一下,平时关掉。改文件代码的也不方便!