所谓的文章修订版就是你每次修改一次文章,它都会自动帮你保存修改之前的文章版本,专业术语叫做版本控制,这样保证了在误修改的情况下可以还原之前的内容,这种功能对我们这种小博客来说并没有太大的意义,而且会在数据库产生很多无用的数据,使你的数据库越来越臃肿。
之前在网上看到了很多都是用下面这样的代码来的,但是经过测试,这段代码在新版本的WP中似乎是无效的。
remove_action('post_update','wp_save_post_revision');
下面两种方法是本人经过亲测,确实有效的方法:
方法一:修改WP安装根目录下的 wp-config.php 文件
前面分享过一篇《[译]通过wp-config来定制你的WordPress》的文章,里面其实就提到了一种禁用修订版本的方法:
// 不保存任何版本(除了自动保存的版本) define('WP_POST_REVISIONS', false); //保存所有修订版本 define('WP_POST_REVISIONS', true); // 保存 n 个修订版本 define('WP_POST_REVISIONS', 3);
方法二:在主题 functions.php
中添加代码
通过 wp_revisions_to_keep 来实现,它是Wordpress专门提供的一个用来控制修订版本数的。通过把下面的代码添加到当前主题 functions.php 来实现:
禁用所有文章类型的修订版本
add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 ); function specs_wp_revisions_to_keep( $num, $post ) { return 0; }
只禁用某种文章类型的修订版本
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; }
下面是Wordpress中几种类型
- Post (Post Type: ‘post’)
- Page (Post Type: ‘page’)
- Attachment (Post Type: ‘attachment’)
- Revision (Post Type: ‘revision’)
- Navigation menu (Post Type: ‘nav_menu_item’)
附带一个禁用自动保存功能的方法(也是添加到 functions.php
中)
add_action('wp_print_scripts','disable_autosave'); function disable_autosave(){ wp_deregister_script('autosave'); }
JV 2015/02/10 16:54
很实用,一直都在用【方法一】。
Specs 2015/02/10 16:57
@ 方法一如果WP升级的话,还用重新修改吗?我只是试了下管用,但是不知道升级WP后会不会没了~
露兜 2015/03/04 22:50
主题很大气,喜欢
Specs 2015/03/05 09:14
@ 呀,露兜大神来访~~
Specs 2015/03/05 09:15
@ 制作的时候还是看了你的教程~
电缆博客 2015/03/18 16:18
懒人是有插件最好。
懿古今 2015/04/03 17:38
我平时都是在使用方法一,比较简单
Specs 2015/04/06 22:13
@ 用一的时候升级了还用重新改吗?没试过升级的情况~
懿古今 2015/04/07 17:57
@ 需要的,升级了就被覆盖了,不过WordPress升级的频率不是很高