专业WORDPRESS主题设计制作

WordPress文章如何禁止自动保存草稿/禁用修订版本?(wordpress关闭自动草稿)

发布于: 2022-11-03

1 WordPress自动保存功能有什么用?

  • 2 WordPress自动保存和自动草稿有何不同?
  • 3 WordPress修订版本功能有何用处?
  • 4 修改WordPress配置文件(方法1 推荐)
    • 4.1 设置WordPress修订版本最多允许几个?
  • 5 禁用WordPress修订版本(方法2)

 

WordPress的自动保存、自动草稿和修订版本功能,一直受到网络营销人员的批评。

不过,WordPress是世界上最受欢迎的网站程序:

WordPress自动保存功能有什么用?

WordPress自动保存可防止编辑器意外关闭并导致文章内容丢失。

  • 例如,网络突然断开连接,突然断电等等……
  • 编辑文章很困难,并且文章已经消失……
  • 此刻,是非常意外的!

但是,此功能可能会导致数据库膨胀,并无缘无故地添加大量无用的垃圾。

幸运的是,有一个WordPress插件 “Easy WP Cleaner” 可以删除这些垃圾。

问题就在于这种“减肥过程”非常痛苦,本文会分享解决此问题的最好方法。

WordPress自动保存和自动草稿有何不同?

WordPress的另一个非常烦人的功能是自动草稿。

  • 自动草稿与自动保存类似,自动保存就是你撰写文章的时候。
  • 文章会根据时间间隔,自动备份并写入数据库。
  • 单击“写文章”时自动草稿是新的。

即使你退出编辑器,数据也会写入数据库,无论你是否键入数据。

WordPress修订版本功能有何用处?

实际上WordPress的修订版本功能非常有用,用户可以检查更改并执行版本控制。

事情总是有两面性,就像自动保存功能一样,忽略这些变化会给数据库带来不必要的负担。

  • 如果编辑长文章时,写了大段内容,记得手动点击保存。
  • 或是电脑用记事本软件,先编辑好后复制到WordPress编辑里再发布(能有效避免在文章输入数据库的过程中,出现数据丢失的情况)。

修改WordPress配置文件(方法1 推荐)

其实WordPress中有很多隐藏的功能,可以通过在WordPress安装根目录的wp-config.php文件的功能,根据需求进行配置禁用或启用。

不少使用WordPress建站的朋友,都想禁用WordPress自动草稿,而不是自动保存。

以下代码解决了这个问题。

由于WordPress的机制,无法完全禁用自动保存,但你可以通过设置较长的时间间隔,来实现类似的效果,例如 ▼

define( 'AUTOSAVE_INTERVAL', 3600 ); // 默认是 60,3600秒表示自动保存间隔1小时

设置WordPress修订版本最多允许几个?



// WordPress设置自动保存间隔/秒
define('AUTOSAVE_INTERVAL', 3600);
// WordPress设置修订版本最多允许几个
define('WP_POST_REVISIONS', 3);

你可以将以下定义,添加到你的 WordPress 站点的 wp-config.php 文件中 ▼



define( 'AUTOSAVE_INTERVAL', 3600 ); // 3600秒表示自动保存间隔1小时
define( 'EMPTY_TRASH_DAYS', 7 ); // 在 7 天后被删除
define( 'DISABLE_WP_CRON', true ); // 禁用内部Wp-Cron函数
define('WP_POST_REVISIONS', false ); // 禁用文章修订版本
  • 自动草稿在 7 天未使用后会自动删除。
  • 它们基本上是自动功能清理的,无需担心它们。
  • 测试过设置为 define( 'AUTOSAVE_INTERVAL', 86400 ); 自动保存间隔24小时无法生效。
  • 建议设置自动保存间隔为3600(1小时)。

禁用WordPress修订版本(方法2)

如果方法1的禁用文章修订版本无效,需要使用以下WordPress禁用所有文章类型的修订版本的代码。

WordPress文章如何禁止自动保存草稿/禁用修订版本?(wordpress关闭自动草稿)

请在WordPress主题模板文件functions.php中,添加以下禁用文章修订版本代码 ▼


// WordPress禁用所有文章类型的修订版本
add_filter( 'wp_revisions_to_keep', 'cwl_wp_revisions_to_keep', 10, 2 );
function cwl_wp_revisions_to_keep( $num, $post ) { return 0;}

WordPress禁用某种文章类型的修订版本的代码 ▼







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

至于WordPress自动草稿,你无法禁用它们,有个重要的原因。

Audrey Capital(Matt Mullenweg 的天使投资公司)的技术忍者 Samuel ‘Otto’ Wood说:

之所以存在自动草稿,是因为多个用户可以同时创建新帖子。如果两个人几乎在同一时间进入 post-new,然后他们的第一次自动保存几乎同时发生,那么就会出现竞争条件,可能导致其中一个人取回错误的帖子 ID,这将导致帖子被覆盖/丢失,当他们继续编辑帖子时。

自动草稿会在显示编辑屏幕之前创建帖子并获取新帖子的 ID,从而防止两个同时作者在浏览器的数据中意外地拥有相同的帖子 ID。

负责 WordPress 的 TinyMCE 集成的 Andrew Ozz说:

这也使得在保存第一个草稿之前上传图像成为可能,并且它们将准确地附加到新帖子中。

对于使用带有古腾堡编辑器的 WordPress 5.0+ 版本的人,下面的代码片段可以禁用自动草稿/保存 ▼












/**
 * 禁用古腾堡编辑器自动保存 (间隔 3600秒)
 */
add_filter( 'block_editor_settings', 'cwl_block_editor_settings', 10, 2 );
function cwl_block_editor_settings( $editor_settings, $post ) {
    $editor_settings['autosaveInterval'] 

 = 3600;
    return $editor_settings;
}

 

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress文章如何禁止自动保存草稿/禁用修订版本?》,对您有帮助。

WP技术资料 wordpress模板制作、wordpress主题开发相关知识常见问题总结
MORE
服务电话:
0533-2765967

微信 13280692153