是否应该禁用WordPress版本修订历史、自动保存和自动草稿

  • A+
所属分类:技术

WordPress的版本修订历史(revision)、自动保存(autosave)和自动草稿(auto-draft)功能会非常讨厌的增加文章ID的数字,会造成连续的两篇文章,ID数值可能会相差很多,让我们这些希望文章ID连续的人感到非常不舒服。WordPress产生的自动草稿,后台不可见,这些东西无声无息的存在于数据库中,导致post_id不连续这是我们最痛恨的,但是看过一些文章写如何禁用自动草稿,必须更改核心文件,让我对wordpress略有失望,不明白为什么做了一个不允许外人用钩子函数更正的动作,直到今天读了一篇文章才了解开发者深切用意。

《为什么禁用自动草稿功能是个坏主意》

原文地址(可能已经打不开了):http://wordpress-hackers.1065353.n5.nabble.com/Disable-Stop-quot-auto-draft-quot-posts-td914.html

自动草稿为什么存在?这是因为WordPress允许多个用户同时编辑文章,假设两个用户同时点击新建文章,满腔热情的撰写,默认的自动保存时间是60秒,那么他们的文章几乎同时在数据库中创建记录,这时候就会产生竞争,竞争极有可能导致其中一个用户获得错误的post_ID,并导致其中一个用户的内容被覆盖或者丢失。

两个用户获得的文章ID应该是不同的,自动草稿总是在编辑文章之前创建,从而避免两个用户的浏览器存储着相同的文章ID。

自动草稿会制造垃圾?这点不用担心,只要发生自动保存或者手动保存,自动草稿就会转变成草稿或者已发布的文章,自动草稿不消失的唯一可能是点击创建文章后立刻离开。WordPress有回收机制,这个草稿最多存在7天,7天之后,当有用户编辑文章时,这些垃圾草稿就会被删除。

单作者WordPress系统?

当然,很多博主是一个人写文章, 永远不存在竞争问题,还可能用文章ID当固定链接,可能对自动草稿比较近忌讳,链接还是连续的好。那么,修改核心文件不可避免,当你需要修改核心文件时,就是WordPress的开发者在说:Don 't do it, it's a bad idea! 不同的人有不同的看法,但有一点是肯定的,这样做会导致升级很麻烦。也许以后会有折中的方案。

 

我们如果决定非要去掉这个功能,网上教程很多,包括修改wordpress源文件的,使用插件的,各有各好处,修改文件的,属于一刀断的,而使用插件,方便快捷。但其实还有另外一种,比较灵活的方法,不改源文件,也不用插件,利用模板文件中的functions.php可以轻松实现禁用自动保存草稿功能,如果你的模板中没有functions.php文件,请新建一个。
方法如下,编辑functions.php文件,在里面添加:

<?php
function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );
?>

这就是传说中的wordpress hook大法,有兴趣的可以去试试。不过最新版本的wp不知道还能不能使用。有待用户自己去测试吧,给我反馈更好!谢谢

 

macyoyo

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: