关闭WordPress修订版本和自动保存功能图文教程2017版

原创 明月SEO  2017-03-27 00:30  阅读 2,726 次

文章修订版就是你每次修改一次文章,它都会自动帮你保存修改之前的文章版本,专业术语叫做版本控制,这样保证了在误修改的情况下可以还原之前的内容,这种功能对中小型网站其实并没有太大的意义,而且会在数据库产生很多无用的数据,使你的数据库越来越臃肿,拖慢网站速度。

关闭WordPress网站修订版本和自动保存功能不仅能优化数据库,还是解决文章ID不连续问题的核心,详情请移步:WordPress文章ID不连续问题的完美解决方法

要想关闭WordPress修订版本和自动保存功能,首先我们要知道控制他们的代码在哪里,控制他们的代码是什么。只有精准的定位到问题的所在,才能根据所需进行修改。在网上看到了很多都是用代码修改的,但是经过测试,很多代码在新版本的WP中似乎是无效的。基本都是版本太旧了,今天西安SEO顾问明月为你提供最新的控制代码关闭方法。

第一种方法:修改WordPress程序根目录下wp-config.php文件

1.控制修订版本

1.// 不保存任何版本(除了自动保存的版本)

define('WP_POST_REVISIONS', false);

2.//保存所有修订版本

define('WP_POST_REVISIONS', true);

3.// 保存 n 个修订版本

define('WP_POST_REVISIONS', n);

2.控制自动保存

1.//禁用自动保存

define(‘AUTOSAVE_INTERVAL’, false);

2.//自动保存10小时一次

define('AUTOSAVE_INTERVAL', 36000);

3.//设置自动保存间隔/秒

define(‘AUTOSAVE_INTERVAL’, 120);

研究透了控制代码,那么具体的解决方案也就出来了,根据需要选择控制代码即可。关闭修订版本和自动保存,明月SEO只用了两句代码,代码如下:

define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', 36000);

为什么选择10小时自动保存一次而不是直接false?

(1)因为明月SEO在测试的时候发现直接 false 禁用无效,所以后来索性将自动保存的时间间隔设置成了36000,这样无论你编辑多长时间都不会产生ID了。

(2)因为修改成false以后会造成WordPress报错的一个bug,开启debug可以在编辑文章时看到提醒。编辑一篇文章一般都不会超过10小时,所以效果是一样的,杠杠滴。

上面两句代码的位置?其实将其放在其它define代码旁边均可。明月SEO将其放在:define('WP_DEBUG', false);这句代码后面,具体位置如图所示:

代码位置

第二种方法:修改主题文件夹下的functions.php文件

1.禁用WordPress自动保存

//禁用自动保存(方法一)

add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );

//禁用自动保存(方法二)

add_action('wp_print_scripts', 'fanly_no_autosave'); function fanly_no_autosave() { wp_deregister_script('autosave'); }

其他版本代码如下:(仅供参考,不建议使用)

add_action('wp_print_scripts','disable_autosave'); function disable_autosave(){ wp_deregister_script('autosave'); }

2.禁用WordPress修订版本

(1)//禁用所有文章类型的修订版本

add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 ); function fanly_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 ) { return 0; }

(2)//只禁用某种文章类型的修订版本

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

老版本代码如下:(仅供参考对比,不建议用)

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 Type: ‘post’)
  • 页面(Post Type: ‘page’)
  • 附件媒体(Post Type: ‘attachment’)
  • 修订版本(Post Type: ‘revision’)
  • 导航菜单(Post Type: ‘nav_menu_item’)

研究透了以上代码,就可以根据自己的需要来控制其功能了。明月SEO,为了关闭修订版本和自动保存功能在functions.php文件里也是只用了两句代码解决了问题,两句代码如下:

add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );

add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 ); function fanly_wp_revisions_to_keep( $num, $post ) { return 0;}

代码位置?代码放在了functions.php文件的末尾的标签“?>”之前,如下图所示:

代码位置标注

以上两套方法,明月SEO均采用最新最简约的控制代码,进行修改,最终成功的关闭了修订版本和自动保存的功能。

具体这些其他的代码是否可行,测试时不可行,但是,明月最后一次测试代码,重启了服务器空间。则代码有效。所以解决这个问题,可能还需要重启下服务器,或者换个浏览器,从新登录后台编辑文章。而不是上传修改代码文件后就开始编辑文章测试。毕竟有的代码命令行可能与服务器反应,缓存等也有关系。

另外还有一说是修改后台 wp-admin根目录下的 post.php文件, 删除掉保存成草稿的代码和 post-new.php 文件中,注释掉:wp_enqueue_script(‘autosave’); 代码即可。如果不注释和删除还是会产生ID号的。详情请移步:http://www.brightmoonseo.com/build/697.html   文章有对这两个文件的修改的详细的说明。

至此,相信一定能解决了你的问题。

 

【其它不能用代码说明】

本文由明月SEO编辑,边用边实地测试,也测试了很多其他的不完善不能用的代码如下:

(1)在functions.php的最后php结束标记前加上如下代码:

//移除自动保存 wp_deregister_script('autosave');

//移除修订版本 remove_action('post_updated','wp_save_post_revision' );

明月点评:这里移除修订版本的方法不同于网上早期的方法的地方是,'wp_save_post_revision' 挂载的钩子已经由‘pre_post_updated’变成了‘post_updated’,这个变化貌似是WordPress版本4.0之后,造成了早期的修改方法失效了,具体见WordPress原文件wp-includes/default-filters.php第265行(WordPress4.2.2版本)

(2)编辑functions.php文件  在文件中 ?> 的前面加上代码:

remove_action ( 'pre_post_update', 'wp_save_post_revision' );

(代码注释:移除修订版本记录功能)

明月点评:这个方法只关闭了修订版本,那么自动保存呢?明显不完善

本文地址:http://www.brightmoonseo.com/build/625.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:明月网络营销
版权声明:本文为原创文章,版权归 明月SEO 所有,欢迎分享本文,转载请保留出处!
西安网站制作

发表评论


表情