清除多餘的發文版本 Delete-Revision

Delete-Revision

討厭的發文版本功能

WordPress從2.6版開始多了一個發文版本Revision的功能,這個功能高登是不建議使用,因為太耗資料庫了,所以高登在2.6版出來不久就發了這一篇:關閉WordPress 2.6的發文版本功能教大家如何關閉這個討厭的功能。

但是在你還沒有關閉這個功能之前,還是會有許多的發文版本存在你的SQL資料庫中,就算你把它關閉了之前存檔的發文版本還是會佔資料庫的容量,而且高登的經驗是有時候還是會莫名其妙地又多跑出來一個發文版本。

之前就曾有網友看了網路上的文章,自已用phpMyAdmin的後台去刪發文版本的資料,結果可能是操作錯誤把整個資料庫毀了,所以沒練過的人不要輕易嚐試!

Delete-Revision外掛

今天要介紹的方法就不會有這樣的風險了,這是由大陸的網友所寫的一個「Delete-Revision」外掛:

使用方式很簡單只要在後台的〔設定〕找到〔Delete-Revision〕,就像這一個畫面一樣,按下〔Check Redundant Revision〕的按鈕。

Delete-Revision

檢查之後就會顯示你有多少的發文版本,要清除的話只要按下〔Yes,I would like to delete them!〕就一切搞定了。

Delete-Revision

完成後就會出現這篇文章開頭的恭喜畫面,告訴你所有的發文版本都清除了!

小小慶賀一下

最後還要再炫耀一下高登的新書:「WordPress部落格架設與經營:站長親授的十堂課」,勇奪「博客來網路書店>語言電腦>電腦>新書.79折新書>新書排行」:第一名!謝謝大家的支持!

11 則留言

  1. 您好,我下載此插件來使用了,不過有個疑問,就是在刪除了多餘的文章保存版本之後,文章的 ID 號能否照順序排列、而非採取跳號存在呢?

    版主回應:
    我看了一下你是用post_id來作固定網址,更改文章的ID會讓你原來別人的連結以及搜尋引擎收錄的連結通通對不上,不要改哦!

  2. define('WP_POST_REVISIONS', false);
    define('AUTOSAVE_INTERVAL', 600);

    有要求插在wp-config.php哪裡嗎?

    版主回應:
    就在一堆define那邊,其實放哪邊都可以

  3. 高登大人,這個外掛只有下一個指令$sql = "DELETE FROM $wpdb->posts WHERE post_type = 'revision'"; 事實上,要先下兩個指令:DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = ‘revision’);
    DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type=’revision’);

    wp_postmeta和wp_term_relationships也有不少東西要清。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料