Page 1 of 1

關閉WordPress多版本、自動儲存文章功能

PostPosted: Wed Sep 23, 2015 3:20 pm
by admin
https://sofree.cc/disable-revision-autosave/
WordPress在早先的版本很貼心的加入自動儲存功能與多版本文章,若單只有自動儲存功能還可以接受,畢竟有時瀏覽器突然當機,自動儲存就派上用場,不過當自動儲存功能遇上多版本功能,那你的資料庫內可能同一篇文章同時儲存10多篇,如果文章數量夠多,那資料庫內因為多版本產生的文章,就非常的可怕!

這樣的狀況,讓WordPrss本來的美意卻變成使用者的一個困擾,那我們該怎麼去關閉多版本和自動儲存文章的這兩個功能呢?目前網路上有許多方法可以關閉,透過外掛、加入語法等等就可以完全關閉,不過在這之中,有些語法可能還是不太有效,目前有個更有效的方法就是透過function,不再透過變數的定義,完全關閉多版本和自動儲存文章功能。



所謂的多版本功能是當你每次按下WordPress的儲存按鈕,就會幫你儲存成一篇文章在資料庫內,如果你同一篇文章按了5次,那資料庫內就會有五篇相同的文章,或許這樣對於使用者來講是一種困擾,因為若使用預設網址,那個文章ID會很可怕。不過換個角度想,其實這樣的作法是避免使用者如果哪天文章改了之後不滿意,可以很快的透過後台直接還原到前一版本的文章,這種功能其實在wiki或是程式開發上很常見。

至於自動儲存文章功能,這功能其實很早以前就有了,目的就是如最前面所提到,有時候使用者可能會打很多文章內容才去按下儲存按鈕,但這不是正確的習慣,因為我們很難知道是否之後會突然電腦當機、瀏覽器掛掉等等問題,這個自動儲存功能對於使用者來講可以定時自動儲存文章,如果突然當機,也不用怕資料全部消失。

關閉多版本文章功能

關閉多版本文章可以透過「Revision Control」關閉,以及透過「Delete-Revision」清除多版本產生的文章。但目前常見的做法就是修改wp-config.php檔案,在裡面加上一句語法,就可把多版本文章功能關閉,目前在WordPress中文包中,也有這個語法,只是語法是被註解掉的,若您需要關閉多版本文章功能,可以將此語法取消註解,或直接加入以下語法到wp-config.php檔案即可。〈false => 關閉 ; true => 開啟〉

define('WP_POST_REVISIONS', false );
完全關閉WordPress多版本、自動儲存文章功能(WordPress 3.1 以上適用)

關閉自動儲存文章功能

自動儲存文章的關閉語法,同樣也可以透過一個變數宣告關閉此功能,請下載網站的系統設定檔案wp-config.php,若您是WordPress正體中文包安裝的,開啟後可以找到約莫在地81行的部分,將註解語法取消掉。若裡面找不到此語法,請自行加入以下語法。設定自動儲存的時間,您可以設定為86400秒(剛好一天),只是不知道能否設定false?

define('AUTOSAVE_INTERVAL', 60 );
完全關閉WordPress多版本、自動儲存文章功能(WordPress 3.1 以上適用)

同時關閉WordPress自動儲存文章、多版本功能

這個方法是目前看到新版的方法,在WordPress3.1版本以上是可以正確運作的。只要加入語法到您目前使用的佈景主題內即可。因此請開啟您的佈景主題內的functions.php檔案,將以下語法加入到適當的位置,請不要破壞原本檔案內的結構,否則會造成問題。若您在主題內沒有找到functions.php此檔案,您可以自行新增此檔案並加入語法。

/** Disable Revision 關閉多版本 **/
remove_action('pre_post_update', 'wp_save_post_revision' );
/** Disable AutoSave 關閉自動儲存 **/

function disable_autosave() {
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disable_autosave' );
完全關閉WordPress多版本、自動儲存文章功能(WordPress 3.1 以上適用)

若改來改去又安裝一堆外掛感覺很麻煩,或許可以採用Super Switch,這外掛可以關閉多版本、佈景預覽、檢查更新等等,頗方便的,大家可以參考看看。至於刪除多版本外掛的話,可以使用WP Optimize,它可以刪除多版本文章、優化資料庫、刪除垃圾留言、移除未審核留言等,也是一個非常棒的外掛。目前香腸做法是使用最後一段的關閉語法搭配優化外掛WP Optimize來處理。