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

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

版权声明:
作者:Mr Y
链接:https://www.99bsy.com/1527.html
来源:小算草
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>