WordPress修订版本和自动保存功能关闭设置2017版

  • 内容
  • 评论
  • 相关

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

关闭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 文章有对这两个文件的修改的详细的说明。

至此,相信一定能解决了你的问题。<转自明月登楼>

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注

17 − 12 =