把 WordPress 的 revision 功能關掉

27 十一月, 2008 (00:51) | Blog 系統

這功能對某些情況下是真的很有用,但可不可以預設關起來啊…

我忘了從哪一版 WordPress 開始,總之他們加了一個新功能叫做 revision,顧名思義就是把文章加上版本的概念,這其實是挺不錯的,有些文章你就是會一直在前面或後面加些新東西,把一系列版本留下來確實是可以讓你整理起來更方便。惟一一個美中不足的地方就是,它做得太超過了,出廠預設是打開的,而且 (如果我沒記錯的話) 連 auto save 的時候都會存一個 revision,所以… 資料庫就爆炸了 XD 好在討厭這功能的人也不少,程式推出沒多久馬上就有人公佈了要如何把這功能取消的方法:去改 wp-config.php 這個檔,加一行

define(‘WP_POST_REVISIONS’, false);

這一招對大部份的情況是有用的,我也高興了好一陣子,直到這兩天才發現,如果你做的動作是 修改已發表文章 的話,它還是會存 revision … 我是在改了好幾篇文章的錯字以後才發現這個悲劇 :~ 後來我又尋覓了一下,終於讓我找到一個超好用的 plugin No Revisions,看一下它的 code 就知道它做的事很單純,直接把加 revision 這個 action 從存檔功能裡面的 hook 上拿掉… 真是個治本的好辦法 !!

Technorati Tags: ,

Comments

Comment from WM
Date: 2008/11/28, 3:14 上午

從現在的2.6版才開始的。

感謝長輩分享,我好奇的是這個是怎麼會造成資料庫爆炸的?

Comment from 小海
Date: 2008/11/28, 7:02 上午

乾溫, 馬上裝來用了, wordpress 的 revision 真的是太超過了! (拍桌)

Comment from vicjuan
Date: 2008/11/28, 8:25 上午

感謝學長提供資訊,我很需要這個東西啊。 XD

Comment from Jerry
Date: 2008/11/28, 9:49 上午

支持!其实我们要的revision界面是类似于trac那样的代码比对,用得着把整篇文章都存一遍么。

Comment from vicjuan
Date: 2008/11/28, 10:09 上午

http://wordpress.org/extend/plugins/delete-revision/
這個plugin可以砍掉已經存在的revision,瞬間讓資料庫大瘦身。 XD

Comment from ijliao
Date: 2008/11/29, 12:29 上午

@WM 我的意思是資料庫裡面塞了太多沒意義的東西…

@vicjuan 我不想砍掉那些 revision 啊… 現在正在回收那些舊 post_id 節能減碳中… XD

Pingback from 飞龙收藏禁用WordPress mu的PostRevisions或autosave插件 = 飞龙博客 飞龙在天
Date: 2008/12/20, 9:58 下午

[...]   关闭WordPress发布日志的自动保存功能   http://www.linwan.net.cn/archives/2996.html   禁用wordpress自动保存(aotosave)和Revisions的几种方法   http://www.linwan.net.cn/archives/2996.html   删除所有的旧版本日志方法Delete Wordpress 2.6 Revisions   http://andreineculau.com/blog/2008/07/delete-wordpress-26-revisions/   关闭wordpress自动保存和Post Revision   http://www.xxlog.com/wordpress-2/disable-wordpress-autosave-and-post-revision.html   把 WordPress 的 revision 功能關掉   http://blog.ijliao.info/archives/2008/11/27/3631/ [...]

Comment from Morton
Date: 2009/01/17, 11:05 下午

請問你是怎樣回收 post_id 的?也就是説,倘若我已經刪掉一些不想留存的 revision,那麼舊的 post_id 怎樣被 re-use 在新文章上?是有哪邊有教學嗎?我查了一下,似乎都要進 MySQL 去手動改,不過也沒有找到詳細的說明流程,有點怕把 DB 搞爛了…

Comment from ijliao
Date: 2009/01/18, 3:01 上午

我也都是把黑手伸進 db 裡面去攪…
select * from wp_posts where post_type=’revision’;
找出所有 revision

把它們改成 draft 吧…
update wp_posts set post_title=’XXX’, post_type=’post’, post_status=’draft’ where post_type=’revision’;

Comment from Morton
Date: 2009/01/20, 12:11 上午

廖大果然是有兩把刷子,受教了。 (看來 SQL 語法還要加強一下) 感謝! ;-)

Pingback from Completely Turn-off Revision in Wordpress 2.6+ | Phanix’s Blog
Date: 2009/03/03, 8:07 上午

[...] 一開始我是參考廖大寫的方法,在 wp-config.php 中加上一行程式碼,或者安裝 Disable Revisions 或 No Revisions。 [...]

Pingback from Super Switch禁用PostRevisions或autosave的wordpress插件 = 飞龙博客 飞龙在天
Date: 2009/06/29, 11:07 上午

[...] 把WordPress的revision关掉 砍掉已存在revision瞬间让数据库大瘦身 [...]

Write a comment