WordPress的文章修订版本,就是编辑或修改文章时自动保存生成一个修订版本,默认是每分钟1次,主要是方便恢复,初衷是好的,不过日积月累,会产生大量的冗余数据,加重服务器负担,拖慢数据加载,如果觉得该功能是个鸡肋,我们可以将下面的代码添加到主题的functions.php中,刷新一下网页,会删除全部文章修订版本。
- $wpdb->query( "
- DELETE FROM $wpdb->posts
- WHERE post_type = 'revision'
- " );
如果只是定期删除修订版本,就没必要将此代码留在主题中,可以在准备清理修订版本时再加到主题中。
其它方法
使用WP Clean Up插件批量删除修订版本。下载地址
禁用自动保存
- add_action('wp_print_scripts','disable_autosave');
- function disable_autosave(){
- wp_deregister_script('autosave');
- }
使用方法:将以上代码插入主题根目录下的functions.php文件中。
指定时间间隔
- define('AUTOSAVE_INTERVAL', 36000);
代码中36000代表36000秒,即10个小时,默认是60秒。
禁用修订版本
方法一:
- //不保存任何版本(除了自动保存的版本)
- define('WP_POST_REVISIONS', false);
- //保存所有修订版本
- define('WP_POST_REVISIONS', true);
- //保存N个修订版本
- define('WP_POST_REVISIONS', 5);
- //代码中5代表最多数量,可自由设置,如设置1就是最多1个修订版本
使用方法:将以上代码(任选其一)插入WordPress根目录下的wp-config.php文件中,记得以 UTF-8 无 BOM 格式编码。
方法二:
1、禁用所有文章类型的修订版本
- add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
- function specs_wp_revisions_to_keep( $num, $post ) {
- return 0;
- }
2、只禁用某种文章类型的修订版本
- add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
- function specs_wp_revisions_to_keep( $num, $post ) {
- if ( 'post_type' == $post->post_type ) { //引号中post_type改为你想禁用修订版本的文章类型
- return 0;
- }
- return $num;
- }
使用方法:将以上代码(任选其一)插入主题根目录下的functions.php文件中。
对比两个方法
方法一:改的是WordPress的代码,更新后容易导致代码被覆盖掉,需要重新添加。
方法二:放主题根目录下的functions.php文件中,一般主题很少更新的。
在这里推荐使用方法二。
原文:知更鸟+boke112

小算草微信公众号
扫一扫关注小算草微信公众号,打开微信简简单单即可查看小算草所有内容,更快捷更方便。
2017年8月9日 22:03
哈哈博主博客修改的帅呆呆啊。很简约。很有趣~
2017年8月10日 09:41
@胡俊杰 谢谢,欢迎常来。
2017年8月1日 10:05
禁用修订版本上,我用的是第二个方法,写入wp-config.php的总是会失效,不知为何
2017年8月1日 10:25
@雅兮网 推荐方法二,我自己用插件,用时启动手动删除,用完就关掉,也不麻烦。
2017年7月14日 14:49
这是个好东西,多谢分享
2017年7月14日 15:46
@宅小猫 很高兴对你有用,欢迎常来~
2017年7月14日 00:19
我把它完全禁用了,一般写文章之前都先用记事本记下来,避免丢失。
2017年7月14日 09:58
@Koolight 我直接插件,用的时候开一下,平时关掉。改文件代码的也不方便!