/ plugin

禁用WordPress自动保存及版本修订

WordPress有许多令人称道之处,但个别功能对于单人博客略显多余,有时还会让人心生厌烦,自动保存(Auto Save)和修订历史(Post Revisions)就是这样的。

禁用自动保存

自动保存这个功能出发点是好的,只是自动保存的频率过高,有时还会出错,保存不成功或者同一篇文章保存了两次。我基本上是在记事本上写完大概的内容才到后台编辑,这个有点鸡肋的功能理所当然禁用。

方法1:修改源代码

WordPress安装目录的wp-admin文件夹里,找到并注销post.php、page.php、post-new.php、page-new.php四个文件中加载autosave脚本的函数:

[php]
//wp_enqueue_script('autosave');
[/php]

考虑到修改源文件和版本升级,此乃下下策,不用也罢。

方法2:Disable autosave插件

方法3:更改自动保存的时间间隔

在wp-config中定义一个常量,单位为秒,没人会一篇日志写10个小时吧。

[php]
define( 'AUTOSAVE_INTERVAL', 36000 );
[/php]

方法4:主题function文件中添加撤销加载autosave脚本的函数

[php] function disableAutoSave(){ wp_deregister_script('autosave'); } add_action( 'wp_print_scripts', 'disableAutoSave' ); [/php]

这个应该是最优的方法了,不用修改源文件,也不用额外的加载插件。

Post Revisions

类似Wiki的文章历史版本控制,对多人协同协作的博客也许是一个不错的功能,但对单人博客实属多余。

禁用Post Revisions

在wp-config中加入以下常量(与禁用自动保存的相似,也可以把这个常量加到主题的function文件中):

[php]
define('WP_POST_REVISIONS',false);
[/php]

这个常量有几个可选参数

  • true(默认)或者-1:保存所有修订版本;
  • 0或者false:禁用版本修订;
  • 大于0的整数n:保存n个修订版本。

删除数据库中的修订版本

使用WP Cleaner插件,或者在phpMyAdmin等数据库管理软件中选中WordPress数据库后执行以下代码:

[sql]
DELETE FROM wp_posts WHERE post_type = “revision”;
[/sql]

WordPress的开发者可能是替某些用户考虑,所以加入这两个功能,但为何不能替不需要这两个功能考虑一下,在后台加入相关选项呢?最后,在附上同时禁用自动保存和版本修订的插件disable-revisions-and-autosave.zip插件主页

P.S. 这篇文章有点新瓶装旧酒的感觉,不过迄今为止(3.01),WordPress后台仍没有相关选项,所以重新温习一样也无妨。