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

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

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

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

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

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

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

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

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 ); // 禁用文章修订版本

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

如果方法1的禁用文章修订版本无效,需要使用以下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;
}

 

发表回复

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