月光博客 » 编程开发 » 禁用WordPress 3.0自动草稿存档

禁用WordPress 3.0自动草稿存档

  昨天将另外几个WordPress博客从2.9.2升级到了3.0.1,没想到发现了一些问题,以前已经很好解决的自动草稿存档问题又出现了,折腾了半天才解决。

  做为一个id控,我一直喜欢用数字id做为日志文件名,而WordPress自从2.6版本之后就出现了几个很令人讨厌的功能:Post Revisions和Autosave,在默认的情况下,日志的ID将不再连续,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,很烦,后来我通过一个插件很完美的解决了这个日志ID不连续的问题,并一直用到了2.9.2都没问题,升级到3.0.1之后,自动草稿又出来了,但是该插件依旧在工作,通过跟踪发现,只要新建一篇日志,即使不写内容,数据库中也会自动保存一篇草稿,这是以前版本的WordPress所没有的现象,也是disable revisions and autosave插件失效的原因。

  既然已经升级到了WordPress 3.0.1,也不好降级,只好再想办法解决Wordpress自动保存草稿的问题,经过搜索,找到了一个不是很好的禁用自动保存草稿的方法。

  解决WorPress 3.0.1自动草稿的方法是:依旧启用原先的disable revisions and autosave插件,然后编辑wp-admin/includes/post.php文件,在if ( $create_in_db ) {语句之前加入一行$create_in_db = false; 语句,经过实际测试,增加了这一行之后,新建日志,数据库就不会出现一篇自动存档的草稿了。

  但是这种修改WordPress源代码的方法是很不好的,这会导致以后每次WordPress升级,都需要维护修改一次,工作量会越来越大,不如用插件的方式解决,可惜目前实在找不到如何使用插件来解决这个问题,要是WordPress下一个版本能官方解决就好了。

  更新:上述禁用自动草稿(Auto-Draft)的方法仅仅针对Wordpress 3.1以前的版本,对Wordpress 3.1以后的版本是无效的,添加后保存文章时提示“没有修改权限”。Wordpress 3.1以后的版本修改方法是:

  依旧编辑wp-admin/includes/post.php文件,找到下面两行:

$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
$post = get_post( $post_id );

  将其替换为如下几行即可:

$post_auto_draft = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'auto-draft' LIMIT 1" );
if ( $post_auto_draft ) {
    $post = $post_auto_draft;
} else {
    $post = get_post( wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ) );
}

  总结:WordPress的自动保存(Auto-Save)、历史版本(Post Revisions)和自动草稿(Auto-Draft)的功能真是麻烦,在数据库中产生大量垃圾数据,并且自动草稿(Auto-Draft)目前只能通过修改源代码来实现,希望WordPress官方能够提供一种选项,让用户可以选择是否启用自动草稿(Auto-Draft)功能。

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    园子   说道:
    我还没有升级
    等升级了来用用这个方法
    支持(19反对(9回复
  1. 2
    贤者   说道:
    沙发?木哈哈
    支持(15反对(6回复
  1. 3
    leecairen   说道:
    呵呵呵
    好文章啊
    支持(16反对(7回复
  1. 4
    雪狼子   说道:
    都成了博客达人了!
    支持(15反对(8回复
  1. 5
    浩子   说道:
    我还是觉得修改源文件方法不错
    只要做个记录,下次升级后再修改就OK。
    现在不像以前的2.9了,修改的文件少了,而且减少插件何乐而不为呢
    支持(11反对(4回复
  1. 6
    潘宏彬   说道:
    先支持一下,再支持一下,呵呵
    支持(13反对(6回复
  1. 7
    a   说道:
    这个功能确实令人抓狂,什么垃圾功能,早该取消了
    支持(16反对(9回复
  1. 8
    微波信号   说道:
    不知道过渡情况怎么样,我还是不敢升级,生怕除了什么问题,一折腾就没完没了的,现在先凑活用着呢。
    支持(9反对(4回复
  1. 9
    junofeeng   说道:
    我升级了。按月光的方法去关掉自动保存去……
    支持(16反对(11回复
  1. 10
    colee   说道:
    写个插件管理他们不就行了,读出表数据,选择是否删除,ID不要管了,做ID控没意义
    支持(7反对(2回复
  1. 11
    CH5iRe   说道:
    我也是用超级开关,呵呵
    支持(12反对(8回复
  1. 12
    百度专家   说道:
    按月光的方法去关掉自动保存去……

    呵呵 我也给朋友弄弄
    支持(9反对(6回复
  1. 13
    baozi   说道:
    wordpress博客地址多少
    支持(7反对(4回复
  1. 14
    ithinkin   说道:
    我感觉这个功能挺实用的,昨天我写日志时,校园网突然掉线了,如果没有自动草稿,我刷新后就白写了
    支持(13反对(10回复
  1. 15
    me521333   说道:
    3.0.3版本的此文件中有这样一行
    function get_default_post_to_edit( $post_type = 'post', $create_in_db = false ) {
    global $wpdb;

    是不是不用再加你这一行了?
    支持(12反对(9回复
  1. 16
    FengFree   说道:
    3.1怎么弄?
    ddwerw 于 2011-3-19 13:42:49 回复
    sdfewrw
    ddwerw 于 2011-3-19 13:43:52 回复
    dddd
    支持(11反对(8回复
  1. 17
    小小豌豆花   说道:
    收藏,3.2出来了,有什么变化?
    支持(11反对(8回复
  1. 18
    外城少侠   说道:
    求助!!!WP的random-posts-widget-include怎么不显示自动草稿?
    支持(20反对(17回复
  1. 19
    ben   说道:
    没觉得有这个问题啊。。。
    支持(7反对(5回复
  1. 20
    抱鱼睡的猫   说道:
    果断板凳~~~
    支持(9反对(8回复
  1. 21
    jiezhou   说道:
    这个博客也是wordpress?不像啊。。。
    支持(9反对(8回复
  1. 22
    ray1980   说道:
    正好想找如何禁用的方法
    支持(8反对(7回复
  1. 23
    leecairen   说道:
    刚发现你的博客,值得一读啊!
    支持(6反对(5回复
  1. 24
    韩都衣舍旗   说道:
    很不错,学习了
    支持(8反对(7回复
  1. 25
    shuaipeng   说道:
    我从最简单的bo-blog开始,然后慢慢的也用wp。当我知道wp时人家直接就是3.0的版本了。
    支持(8反对(8回复
  1. 26
    装B   说道:
    你是中国人,起个洋人名字?装B!
    支持(7反对(7回复
  1. 27
    放放风   说道:
    这种不好收录似乎只有谷歌喜欢是吗?看看qhsgldd.net
    支持(4反对(4回复
  1. 28
    insect   说道:
    我的还没升级
    支持(12反对(13回复
  1. 29
    舟山   说道:
    是啊 每次写的时候自动保存好麻烦,我用的是国外空间自动保存的时候总是慢的很
    支持(10反对(11回复
  1. 30
    无效   说道:
    按以上方法做了,测试了一下还是不行,这点真是麻烦
    支持(10反对(11回复
  1. 31
    猎鹰老公公   说道:
    如果你不是完美主义者,不是象博主那样的id控,就不要担心这个问题啦。
    支持(10反对(11回复
  1. 32
    来啊来   说道:
    wordpress 功能很强大,就是用起来太麻烦,折腾不起.
    支持(9反对(11回复
  1. 33
    旅行者2号   说道:
    一个人 写好一个博客已经不容易啦,写好几个博客,怎么写?
    支持(8反对(10回复
  1. 34
    gooder8   说道:
    还没使用最新版,还在用2.9
    支持(7反对(9回复
  1. 35
    严重浪漫   说道:
    威廉你好,经一个朋友介绍,我正在用Super Switch插件,可以关闭自动存档,关闭修订版本。
    我朋友是3.01,他说可以用。
    我是2.9.2,不清楚3.01是否可用。
    你可以试试。

    :-)
    严重浪漫 于 2010-8-25 21:05:44 回复
    顺便问一下,你的WP博客地址是多少,想去看看
    bonum 于 2010-9-15 11:11:07 回复
    3.01超级开关没用
    支持(7反对(9回复
  1. 36
    Cody   说道:
    本人还是非常喜欢自动存档的功能。尤其是网络时有时无的情况下。不自动存档,不知道提交的时候忘记复制下来,网络断开就杯具了。
    支持(11反对(13回复
  1. 37
    望月博客   说道:
    为啥这个文章用中文署名了,龙威廉!
    williamlong 于 2010-8-24 10:45:28 回复
    中文比英文更好记。
    支持(6反对(9回复
  1. 38
    就抢网   说道:
    2.92和很不错了,升什么升?
    支持(11反对(14回复
  1. 39
    jiechic   说道:
    其实wordpress 3.0以上版本增加了修订版本,虽然不会自动保存,但是在写日志或者更新日志的时候,都会生成一个修订版本,解决方法在我的博客有。去看看吧
    支持(6反对(9回复
  1. 40
    骊山居家   说道:
    自我感觉还是不升级的为好!升级问题太多!
    支持(9反对(12回复
  1. 41
    tony   说道:
    还没升级,试试月光这个方法
    支持(7反对(10回复
  1. 42
    hesiway   说道:
    我正是用的这个方法~
    支持(7反对(11回复
  1. 43
    hzs   说道:
    地球人都知道……
    支持(7反对(11回复
  1. 44
    coolicer   说道:
    第七....
    支持(8反对(13回复
  1. 45
    nicrosoft   说道:
    那我还是步升级了 :D
    支持(5反对(10回复
  1. 46
    闫头   说道:
    一直用自定义链接,感觉不错。
    支持(4反对(9回复
  1. 47
    cotrun   说道:
    这个不错,多谢分享。
    支持(4反对(9回复
  1. 48
    阿七   说道:
    我还想你会不会发出个技术文章,没想到还真发出来了
    支持(5反对(11回复
  1. 49
    暮光博客   说道:
    我只知道月光的英文博客是wp的,其他的博客是什么啊?

    月光的网站还真多!
    支持(6反对(13回复
  1. 50
    就抢网   说道:
    升了是英文版的,很多人用不习惯的
    支持(8反对(17回复
  1. 51
    315dates   说道:
    这些不错,留个脚印
    支持(8反对(18回复

发表留言